Beispiel #1
0
        //Product Cart Page
        public static List<GetCart> calculatePrice(List<GetCart> Data, PistisContext db)
        {
            var increment = db.PaymentConfiguration.Where(x => x.IsApplied == true).FirstOrDefault();
            if (increment != null)
            {
                foreach (var d in Data)
                {
                    if (d.SellingPrice >= increment.Amount)
                    {
                        d.SellingPrice = d.SellingPrice + (d.SellingPrice * increment.Percentage / 100);
                        d.PriceAfterDiscount = (d.SellingPrice - (d.SellingPrice * d.Discount / 100));
                        d.Amount = d.PriceAfterDiscount * d.Quantity;
                        var TotalAmount = Data.Sum(x => x.Amount);
                        d.TotalAmount = Convert.ToDecimal(TotalAmount.ToString("#.00"));

                    }
                }

                foreach (var d in Data)
                {
                        var TotalAmount = Data.Sum(x => x.Amount);
                        d.TotalAmount = Convert.ToDecimal(TotalAmount.ToString("#.00"));

                }
            }
            return Data;
        }
Beispiel #2
0
        public static bool UpdateOrderStatus(string status, PistisContext db, int CheckoutID, int userID)
        {
            var noti = new Notification();

            noti.CreatedDate        = System.DateTime.Now;
            noti.DeletedDate        = null;
            noti.ReadDate           = null;
            noti.IsRead             = false;
            noti.IsDeleted          = false;
            noti.IsActive           = true;
            noti.NotificationTypeId = Convert.ToInt32(NotificationType.Shipping);
            noti.Title       = "Order " + status + " successfully";
            noti.Description = "Congratulations your order has been " + status;
            var TargetURL = db.NotificationTypes.Where(b => b.Id == Convert.ToInt32(NotificationType.Shipping) && b.IsActive == true)
                            .FirstOrDefault()?.BaseURL + "?orderId=" + CheckoutID;

            noti.TargetURL = TargetURL;
            noti.UserId    = 0;

            //----saving notification of purcahse order
            var users = new List <int>();

            users.Add(userID);
            return(NotificationHelper.saveNotification(noti, db, users));
        }
        private static List <Deal> deals(PistisContext db)
        {
            var todayTime  = DateTime.Now.TimeOfDay;
            var finaldDeal = new List <Deal>();
            var deals      = db.Deal.Where(x => x.IsActive == true && x.Status == "open" && x.ActiveFrom.Date <= DateTime.Now.Date && x.ActiveTo.Date >= DateTime.Now.Date
                                           ).Include(x => x.DealProduct).ToList();

            foreach (var d in deals)
            {
                var start = (Convert.ToDateTime(d.ActiveFromTime)).TimeOfDay;
                var end   = (Convert.ToDateTime(d.ActiveToTime)).TimeOfDay;
                if (start < todayTime)
                {
                    if (d.ActiveTo.Date > DateTime.Now.Date)
                    {
                        finaldDeal.Add(d);
                    }
                    else if (d.ActiveTo.Date == DateTime.Now.Date && end > todayTime)
                    {
                        finaldDeal.Add(d);
                    }
                }
            }

            return(finaldDeal);
        }
Beispiel #4
0
 public UserController(PistisContext pistis, IOptions <AppSettings> settings, IConfiguration configuration, IHostingEnvironment host)
 {
     db             = pistis;
     _settings      = settings;
     _configuration = configuration;
     environment    = host;
 }
Beispiel #5
0
        public static product7 calculateDealForProducts(product7 Data, PistisContext db)
        {
            var finaldDeal = deals(db);
            var dealpro    = new List <DealProduct>();

            foreach (var f in finaldDeal)
            {
                dealpro.AddRange(f.DealProduct);
            }
            var pi    = Convert.ToInt32(db.ProductVariantDetails.Where(x => x.Id == Data.VariantDetailId).Include(x => x.Product.ProductCategory).FirstOrDefault().Product?.ProductCategory?.ParentId);
            var catid = getparentCat(pi, db);

            Data.Commission = GetCommissionByCategoryId(catid, db);
            if (dealpro.Any(z => z.ProductVariantId == Data.LandingVariant.Id))
            {
                foreach (var p in dealpro.Where(z => z.ProductVariantId == Data.LandingVariant.Id))
                {
                    Data.Discount = Data.Discount + Convert.ToInt32(p.Deal.Discount);
                    var priceaftercomm = Data.SellingPrice + (Data.SellingPrice * Data.Commission / 100);
                    Data.SellingPrice       = priceaftercomm;
                    Data.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * Data.Discount / 100));
                }
            }
            else
            {
                Data.Discount = Data.Discount;
                var priceaftercomm = Data.SellingPrice + (Data.SellingPrice * Data.Commission / 100);
                Data.SellingPrice       = priceaftercomm;
                Data.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * Data.Discount / 100));
            }
            return(Data);
        }
Beispiel #6
0
        private static Boolean saveInDb(PistisContext db, Message msg)
        {
            var model = new VendorChat();

            model.CustomerId             = msg.CustomerId;
            model.IsActive               = true;
            model.ProductVariantDetailId = msg.ProductVariantDetailId;
            model.VendorId               = msg.VendorId;
            model.IpAddress              = msg.IpAddress;
            model.IsArchieved            = false;
            model.ProductVariantDetailId = msg.ProductVariantDetailId;
            db.VendorChat.Add(model);
            try
            {
                db.SaveChanges();
                var data = new VendorChatMsg();
                data.CustomerMsg    = msg.CustomerMsg;
                data.DateTime       = DateTime.Now;
                data.IsCustomerRead = false;
                data.IsVendorRead   = false;
                data.VendorChatId   = model.Id;
                data.VendorMsg      = msg.VendorMsg;
                db.VendorChatMsg.Add(data);
                db.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Beispiel #7
0
 //all product info
 public static product1 calculatePriceForProducts(product1 d, PistisContext db)
 {
     var increment = db.PaymentConfiguration.Where(x => x.IsApplied == true).FirstOrDefault();
     if (increment != null)
     {
             if (d.SellingPrice >= increment.Amount)
             {
                 d.SellingPrice = d.SellingPrice + (d.SellingPrice * increment.Percentage / 100);
                 d.PriceAfterdiscount = (d.SellingPrice - (d.SellingPrice * d.Discount / 100));
             }
     }
     return d;
 }
Beispiel #8
0
        public static int getparentCat(int Id, PistisContext db)
        {
            var data = db.ProductCategories.Where(x => x.IsActive == true && x.Id == Id).FirstOrDefault().RemoveReferences();

            if (data.ParentId == null)
            {
                return(data.Id);
            }
            else
            {
                return(getparentCat(Convert.ToInt32(data.ParentId), db));
            }
        }
Beispiel #9
0
        public static int GetCommissionByCategoryId(int id, PistisContext db)
        {
            var obj  = new CategoryCommission(db);
            var data = obj.CategoryCommissions.Where(x => x.IsActive == true && x.ProductCategoryId == id).FirstOrDefault();

            if (data != null)
            {
                return(data.Commission);
            }
            else
            {
                return(0);
            }
        }
Beispiel #10
0
        public static bool saveNotification(Notification model, PistisContext context, List <int> users)
        {
            if (model != null)
            {
                try
                {
                    context.Notifications.Add(model);
                    context.SaveChanges();


                    if (users.Count > 0)
                    {
                        List <NotificationUser> allUsers = new List <NotificationUser>();
                        foreach (var item in users)
                        {
                            var userNotification = new NotificationUser();
                            userNotification.NotificationId = model.Id;
                            userNotification.UserId         = item;
                            userNotification.IsActive       = true;
                            userNotification.IsRead         = false;
                            userNotification.IsDeleted      = false;
                            userNotification.CreatedDate    = System.DateTime.Now;
                            allUsers.Add(userNotification);
                        }
                        if (allUsers.Count == users.Count)
                        {
                            context.NotificationUser.AddRange(allUsers);
                            context.SaveChanges();
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(true);
        }
Beispiel #11
0
        public static List <ProductVariantDetail> calculateDealonetime(List <ProductVariantDetail> Data, int DealId, PistisContext db)
        {
            var finaldDeal = deals(db);
            var dealpro    = new List <DealProduct>();

            dealpro = finaldDeal.Where(x => x.Id == DealId).SelectMany(x => x.DealProduct).ToList();
            var commission        = new ProductCategoryCommission();
            var productCategoryId = 0;

            foreach (var d in Data)
            {
                var ProductCategoryId = db.Products.Where(x => x.Id == d.ProductId).FirstOrDefault().ProductCategoryId;
                var productCategory   = db.ProductCategories.Where(x => x.Id == ProductCategoryId).FirstOrDefault();
                if (productCategory != null)
                {
                    if (productCategory.ParentId == null)
                    {
                        productCategoryId = productCategory.Id;
                    }
                    else
                    {
                        productCategory = db.ProductCategories.Where(x => x.Id == productCategory.ParentId).FirstOrDefault();
                        if (productCategory.ParentId == null)
                        {
                            productCategoryId = productCategory.Id;
                        }
                        else
                        {
                            productCategory   = db.ProductCategories.Where(x => x.Id == productCategory.ParentId).FirstOrDefault();
                            productCategoryId = productCategory.Id;
                        }
                    }
                }
                if (productCategoryId > 0)
                {
                    var obj = new CategoryCommission(db);
                    commission = obj.CategoryCommissions.Where(x => x.IsActive == true && x.ProductCategoryId == productCategoryId).FirstOrDefault();
                    if (commission == null)
                    {
                        commission            = new ProductCategoryCommission();
                        commission.Commission = 0;
                    }
                }



                if (dealpro.Any(z => z.ProductVariantId == d.Id))
                {
                    foreach (var p in dealpro.Where(z => z.ProductVariantId == d.Id))
                    {
                        d.Discount = d.Discount + Convert.ToInt32(p.Deal.Discount);
                        var priceaftercomm = d.Price + (d.Price * commission.Commission / 100);
                        d.Price = priceaftercomm;
                        d.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100));
                        d.ActiveTo           = p.Deal.ActiveTo;
                    }
                }
                else
                {
                    d.Discount = d.Discount;
                    var priceaftercomm = d.Price + (d.Price * commission.Commission / 100);
                    d.Price = priceaftercomm;
                    d.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100));
                }
            }
            return(Data);
        }
Beispiel #12
0
 public static List <Deal> getdealsId(PistisContext db, int Id)
 {
     return(dealId(db, Id));
 }
Beispiel #13
0
 public static List <Deal> getdeals(PistisContext db)
 {
     return(deals(db));
 }
Beispiel #14
0
 public DealsController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #15
0
 public HomePageController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #16
0
 public CategoryCommissionController(PistisContext pistis)
 {
     db  = pistis;
     obj = new CategoryCommission(db);
 }
 public PaymentTransactionController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #18
0
 public BannerImagesController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #19
0
 public DashboardController(PistisContext pistis)
 {
     db = pistis;
 }
 public CustomerGroupsController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #21
0
 public HomeCategoryController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #22
0
 public HelperController(PistisContext pistis, IOptions <AppSettings> settings)
 {
     db        = pistis;
     _settings = settings;
 }
Beispiel #23
0
 public NotificationController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #24
0
 public TestimonialController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #25
0
 public TemplateController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #26
0
 public FooterHeaderController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #27
0
 public VendorBalanceController(PistisContext pistis)
 {
     db = pistis;
 }
Beispiel #28
0
        //Product catalogue Page
        public static List <ProductVariantDetail> calculateDeal(List <ProductVariantDetail> Data, PistisContext db)
        {
            var finaldDeal = deals(db);
            var dealpro    = new List <DealProduct>();

            foreach (var f in finaldDeal)
            {
                dealpro.AddRange(f.DealProduct);
            }
            foreach (var d in Data)
            {
                var pi    = Convert.ToInt32(db.ProductVariantDetails.Where(x => x.Id == d.Id).Include(x => x.Product.ProductCategory).FirstOrDefault().Product?.ProductCategory?.ParentId);
                var catid = getparentCat(pi, db);
                d.Commission = GetCommissionByCategoryId(catid, db);
                if (dealpro.Any(z => z.ProductVariantId == d.Id))
                {
                    foreach (var p in dealpro.Where(z => z.ProductVariantId == d.Id))
                    {
                        d.Discount = d.Discount + Convert.ToInt32(p.Deal.Discount);
                        var priceaftercomm = d.Price + (d.Price * d.Commission / 100);
                        d.Price = priceaftercomm;
                        d.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100));
                        d.ActiveTo           = Convert.ToDateTime(p.Deal.ActiveTo);
                    }
                }
                else
                {
                    d.Discount = d.Discount;
                    var priceaftercomm = d.Price + (d.Price * d.Commission / 100);
                    d.Price = priceaftercomm;
                    d.PriceAfterdiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100));
                }
            }
            return(Data);
        }
Beispiel #29
0
 public NewsLetterController(PistisContext pistis, IHostingEnvironment host)
 {
     db          = pistis;
     environment = host;
 }
Beispiel #30
0
        //Product Cart Page

        public static List <GetCart> calculateDeal(List <GetCart> Data, PistisContext db)
        {
            var finaldDeal = deals(db);
            var dealpro    = new List <DealProduct>();

            foreach (var f in finaldDeal)
            {
                dealpro.AddRange(f.DealProduct);
            }
            foreach (var d in Data)
            {
                var pi = Convert.ToInt32(db.ProductVariantDetails.Where(x => x.Id == d.ProductVariantDetailId)
                                         .Include(x => x.Product.ProductCategory)
                                         .FirstOrDefault()?.Product?.ProductCategory?.ParentId);
                var catid = getparentCat(pi, db);
                d.Commission = GetCommissionByCategoryId(catid, db);
                if (dealpro.Any(z => z.ProductVariantId == d.ProductVariantDetailId))
                {
                    foreach (var p in dealpro.Where(z => z.ProductVariantId == d.ProductVariantDetailId))
                    {
                        if (p.Deal.QuantityPerUser >= d.Quantity)
                        {
                            d.Discount     = d.Discount + Convert.ToInt32(p.Deal.Discount);
                            d.DealDiscount = Convert.ToInt32(p.Deal.Discount);

                            var priceaftercomm = d.SellingPrice + (d.SellingPrice * d.Commission / 100);
                            d.SellingPrice       = priceaftercomm;
                            d.PriceAfterDiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100)) * d.Quantity;
                            //       d.DealPriceAfterDiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100)) * d.Quantity;
                            d.Amount = d.PriceAfterDiscount;
                            d.DealQuantityPerUser = p.Deal?.QuantityPerUser ?? 0;
                        }
                        else
                        {
                            for (int i = 0; i < p.Deal.QuantityPerUser; i++)
                            {
                                d.DealDiscount = d.Discount + Convert.ToInt32(p.Deal.Discount);
                                var priceaftercomm1 = d.SellingPrice + (d.SellingPrice * d.Commission / 100);
                                d.DealPriceAfterDiscount = Convert.ToDecimal((priceaftercomm1 - (priceaftercomm1 * d.DealDiscount / 100)) * p.Deal.QuantityPerUser);
                                // d.Amount = d.PriceAfterDiscount;
                            }
                            d.DealQuantityPerUser = p.Deal?.QuantityPerUser ?? 0;

                            d.Discount = d.Discount;
                            var priceaftercomm = d.SellingPrice + (d.SellingPrice * d.Commission / 100);
                            d.SellingPrice       = priceaftercomm;
                            d.PriceAfterDiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100)) * (d.Quantity - p.Deal.QuantityPerUser);
                            d.Amount             = d.PriceAfterDiscount + d.DealPriceAfterDiscount;
                        }
                        if (d.DealQuantityPerUser == null)
                        {
                            d.DealQuantityPerUser = 0;
                        }
                    }
                }
                else
                {
                    d.Discount = d.Discount;
                    var priceaftercomm = d.SellingPrice + (d.SellingPrice * d.Commission / 100);
                    d.SellingPrice       = priceaftercomm;
                    d.PriceAfterDiscount = (priceaftercomm - (priceaftercomm * d.Discount / 100)) * d.Quantity;
                    d.Amount             = d.PriceAfterDiscount;
                }
            }
            foreach (var d in Data)
            {
                var TotalAmount = Data.Sum(x => x.PriceAfterDiscount) + Data.Sum(x => x.DealPriceAfterDiscount);
                d.TotalAmount         = Convert.ToDecimal(TotalAmount.ToString("#.00"));
                d.PriceAfterDiscount += d.DealPriceAfterDiscount;
            }
            return(Data);
        }