DiscountCodeModel.cs 3.38 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AIAHTML5.ADMIN.API.Entity;

namespace AIAHTML5.ADMIN.API.Models
{
    public class DiscountCodeModel
    {
        public int Id { get; set; }
        public string DiscountCode { get; set; }
        public DateTime StartDate { get; set; }
        public DateTime EndDate { get; set; }
        public bool IsActive { get; set; }
        public decimal Percentage { get; set; }

        public static List<DiscountCodeModel> GetDiscountCodes(AIADatabaseV5Entities dbContext, string discountCode, DateTime startDate, DateTime endDate)
        {
            List<DiscountCodeModel> DiscountCodeList = new List<DiscountCodeModel>();
            DiscountCodeModel DiscountCodeObj = new DiscountCodeModel();
            try
            {
                var result = dbContext.GetDiscountCodes(discountCode, startDate.ToString("MM/dd/yyyy"), endDate.ToString("MM/dd/yyyy")).ToList();
                if (result.Count > 0)
                {
                    foreach (var item in result)
                    {
                        DiscountCodeObj = new DiscountCodeModel();
                        DiscountCodeObj.Id = item.Id;
                        DiscountCodeObj.DiscountCode = item.DiscountCode;
                        DiscountCodeObj.StartDate = DateTime.ParseExact(item.StartDate, "MM/dd/yyyy", System.Globalization.CultureInfo.CurrentCulture);
                        DiscountCodeObj.EndDate = DateTime.ParseExact(item.EndDate, "MM/dd/yyyy", System.Globalization.CultureInfo.CurrentCulture);
                        DiscountCodeObj.Percentage = item.Percentage;
                        DiscountCodeObj.IsActive = (item.Status == "Active" ? true : false);
                        DiscountCodeList.Add(DiscountCodeObj);
                    }
                }
            }
            catch (Exception ex) { }
            return DiscountCodeList;
        }

        public static bool InsertDiscountCode(AIADatabaseV5Entities dbContext, DiscountCodeModel discountCodeModel)
        {
            try
            {
                var result = dbContext.InsertNewDiscount(discountCodeModel.Percentage, discountCodeModel.StartDate.ToString("MM/dd/yyyy"),
                    discountCodeModel.EndDate.ToString("MM/dd/yyyy"), discountCodeModel.DiscountCode);
                if (result.Count() > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        public static bool UpdateDiscountCode(AIADatabaseV5Entities dbContext, DiscountCodeModel discountCodeModel)
        {
            try
            {
                var result = dbContext.UpdateDiscount(discountCodeModel.Id, discountCodeModel.Percentage, discountCodeModel.StartDate.ToString("MM/dd/yyyy"),
                    discountCodeModel.EndDate.ToString("MM/dd/yyyy"), (byte?)(discountCodeModel.IsActive == true ? 1 : 0), discountCodeModel.DiscountCode);
                if (result.Count() > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }
    }
}