//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; }
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); }
public UserController(PistisContext pistis, IOptions <AppSettings> settings, IConfiguration configuration, IHostingEnvironment host) { db = pistis; _settings = settings; _configuration = configuration; environment = host; }
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); }
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); } }
//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; }
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)); } }
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); } }
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); }
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); }
public static List <Deal> getdealsId(PistisContext db, int Id) { return(dealId(db, Id)); }
public static List <Deal> getdeals(PistisContext db) { return(deals(db)); }
public DealsController(PistisContext pistis) { db = pistis; }
public HomePageController(PistisContext pistis) { db = pistis; }
public CategoryCommissionController(PistisContext pistis) { db = pistis; obj = new CategoryCommission(db); }
public PaymentTransactionController(PistisContext pistis) { db = pistis; }
public BannerImagesController(PistisContext pistis) { db = pistis; }
public DashboardController(PistisContext pistis) { db = pistis; }
public CustomerGroupsController(PistisContext pistis) { db = pistis; }
public HomeCategoryController(PistisContext pistis) { db = pistis; }
public HelperController(PistisContext pistis, IOptions <AppSettings> settings) { db = pistis; _settings = settings; }
public NotificationController(PistisContext pistis) { db = pistis; }
public TestimonialController(PistisContext pistis) { db = pistis; }
public TemplateController(PistisContext pistis) { db = pistis; }
public FooterHeaderController(PistisContext pistis) { db = pistis; }
public VendorBalanceController(PistisContext pistis) { db = pistis; }
//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); }
public NewsLetterController(PistisContext pistis, IHostingEnvironment host) { db = pistis; environment = host; }
//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); }