Exemplo n.º 1
0
        public async Task <int> DeleteProductPriceDetail(int id)
        {
            ProductPriceDetail productCategoryDetail = await _allInOneContext.ProductPriceDetail.FirstOrDefaultAsync(s => s.Id == id);

            _allInOneContext.ProductPriceDetail.Remove(productCategoryDetail);
            return(await _allInOneContext.SaveChangesAsync());
        }
Exemplo n.º 2
0
        public async Task <ProductPriceDetailModel> GetProductPriceDetail(int id)
        {
            ProductPriceDetail productPriceDetail = await _productRepository.GetProductPriceDetail(id);

            ProductPriceDetailModel productPriceDetailModel = new ProductPriceDetailModel();

            return(productPriceDetailModel);
        }
Exemplo n.º 3
0
 private bool checkRangeDateNhomVatTuNCC(ProductPriceHeader header, ProductPriceDetail data)
 {
     if (data.ngay_ap_dung > header.ngay_ket_thuc || data.ngay_ap_dung < header.ngay_ap_dung ||
         data.ngay_ket_thuc > header.ngay_ket_thuc)
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 4
0
        public async Task <List <ProductPriceDetailModel> > UpdateProductPriceDetail(ProductPriceDetailModel productPriceDetailModel)
        {
            ProductPriceDetail productPriceDetail = await _productRepository.GetProductPriceDetail(productPriceDetailModel.Id);

            productPriceDetail.BuyOrSell         = productPriceDetailModel.BuyOrSell;
            productPriceDetail.ModifiedBy        = 5;
            productPriceDetail.ModifiedByTs      = DateTime.Now;
            productPriceDetail.Date              = ConvertDate(productPriceDetailModel.Date);
            productPriceDetail.IsActive          = true;
            productPriceDetail.ProductCategoryId = productPriceDetailModel.ProductCategoryId;
            productPriceDetail.ProductId         = productPriceDetailModel.ProductId;
            productPriceDetail.Quantity          = productPriceDetailModel.Quantity;
            productPriceDetail.UnitPrice         = productPriceDetailModel.UnitPrice;
            productPriceDetail.Total             = productPriceDetailModel.Total;
            productPriceDetail.WeightType        = productPriceDetailModel.WeightType;
            await _productRepository.UpdateProductPriceDetail(productPriceDetail);

            return(await GetProductPriceList());
        }
Exemplo n.º 5
0
        private void DoBatchSave()
        {
            IList <string> entStrList = RequestData.GetList <string>("data");
            string         priceType  = RequestData.Get <string>("PriceType");
            string         sql        = string.Empty;

            if (entStrList != null && entStrList.Count > 0)
            {
                for (int k = 0; k < entStrList.Count; k++)
                {
                    Newtonsoft.Json.Linq.JObject objL    = JsonHelper.GetObject <Newtonsoft.Json.Linq.JObject>(entStrList[k]);
                    IList <ProductPriceDetail>   ppdEnts = ProductPriceDetail.FindAllByProperties("ProductId", objL.Value <string>("ProductId"), "PriceTypeName", priceType);
                    if (ppdEnts.Count > 0)
                    {
                        ppdEnts[0].Price = objL.Value <decimal>(priceType);
                        ppdEnts[0].DoUpdate();
                    }
                    else
                    {
                        ProductPriceDetail ppdEnt   = new ProductPriceDetail();
                        string             parentId = DataHelper.QueryValue("select EnumerationID from SHHG_AimPortal.dbo.SysEnumeration where Code='PriceType'").ToString();
                        SysEnumeration[]   seEnts   = SysEnumeration.FindAllByProperties("Name", priceType, "ParentID", parentId);
                        if (seEnts.Length > 0)
                        {
                            ppdEnt.EnumerationID = seEnts[0].EnumerationID;
                        }
                        ppdEnt.PriceTypeName = priceType;
                        ppdEnt.ProductId     = objL.Value <string>("ProductId");
                        ppdEnt.ProductName   = objL.Value <string>("产品名称");
                        ppdEnt.ProductCode   = objL.Value <string>("产品型号");
                        ppdEnt.ProductPCN    = objL.Value <string>("PCN");
                        ppdEnt.Price         = objL.Value <decimal>(priceType);
                        ppdEnt.DoCreate();
                    }
                }
            }
        }
Exemplo n.º 6
0
        public ActionResult ApproveList(string data)
        {
            using (IDbConnection dbConn = Helpers.OrmliteConnection.openConn())
                using (var dbTrans = dbConn.OpenTransaction(IsolationLevel.ReadCommitted))
                {
                    try
                    {
                        string[] separators = { "@@" };
                        var      listid     = data.Split(separators, StringSplitOptions.RemoveEmptyEntries);

                        foreach (var id in listid)
                        {
                            var datavendor       = dbConn.FirstOrDefault <StatementVendorHeader>("ma_to_trinh_ncc ={0}".Params(id));
                            var datavendordetail = dbConn.Select <StatementVendorDetail>("ma_to_trinh_ncc ={0}".Params(id));

                            var databg = new ProductPriceHeader
                            {
                                nha_cung_cap_id = datavendor.nha_cung_cap_id,
                                ngay_ap_dung    = datavendor.ngay_ap_dung,
                                ngay_bao_gia    = datavendor.ngay_ap_dung,
                                ngay_ket_thuc   = datavendor.ngay_ket_thuc,
                                ghi_chu         = datavendor.ghi_chu,
                                trang_thai      = "DANG_HOAT_DONG",
                                nguoi_tao       = currentUser.ma_nguoi_dung,
                                ngay_tao        = DateTime.Now
                            };

                            var isExist = dbConn.SingleOrDefault <ProductPriceHeader>("select * from ProductPriceHeader order by id desc");
                            var prefix  = "CSG";
                            if (isExist != null)
                            {
                                var nextNo = int.Parse(isExist.ma_chinh_sach_gia.Substring(9, isExist.ma_chinh_sach_gia.Length - 9)) + 1;
                                databg.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("yyMMdd") + String.Format("{0:00}", nextNo);
                            }
                            else
                            {
                                databg.ma_chinh_sach_gia = prefix + DateTime.Now.ToString("ddMMyy") + "01";
                            }

                            dbConn.Insert(databg);

                            foreach (var item in datavendordetail)
                            {
                                var detail = new ProductPriceDetail {
                                    ma_chinh_sach_gia = databg.ma_chinh_sach_gia,
                                    ma_vat_tu         = item.ma_vat_tu,
                                    gia_bao           = item.gia_bao,
                                    thue_vat          = item.thue_vat,
                                    gia_bao_gom_vat   = item.gia_bao_gom_vat,
                                    ngay_ap_dung      = item.ngay_ap_dung,
                                    ngay_ket_thuc     = item.ngay_ket_thuc,
                                    don_vi_tinh       = item.don_vi_tinh,
                                    sl_min            = item.sl_min,
                                    sl_max            = item.sl_max,
                                    nguoi_tao         = currentUser.ma_nguoi_dung,
                                    ngay_tao          = DateTime.Now
                                };
                                dbConn.Insert(detail);
                            }

                            dbConn.Update <StatementVendorHeader>(set: "trang_thai={0}".Params(AllConstant.TRANGTHAI_DA_DUYET), where : "ma_to_trinh_ncc={0}".Params(id));
                        }
                        dbTrans.Commit();
                        return(Json(new { success = true }));
                    }
                    catch (Exception e)
                    {
                        dbTrans.Rollback();
                        return(Json(new { success = false, error = e.Message }));
                    }
                }
        }
Exemplo n.º 7
0
        public ActionResult Prices()
        {
            if (Session["userlogin"] == null)
            {
                return(Redirect(@SharedRess.SharedStrings.login));
                //RedirectToAction("UserLogin", "FProduct");
            }
            ProductPriceModel model = new ProductPriceModel();

            int pId = 0;

            using (MainContext db = new MainContext())
            {
                if (RouteData.Values["id"] != null)
                {
                    pId = Convert.ToInt32(RouteData.Values["id"]);
                }
                else
                {
                    pId = db.ProductGroup.Where(x => x.TopProductId == 1 && x.Deleted == false).OrderByDescending(d => d.SortNumber).FirstOrDefault().ProductGroupId;
                }

                var   groups   = db.ProductGroup.Where(x => x.TopProductId == pId && x.Deleted == false).ToList();
                int[] groupIds = groups.Select(x => x.ProductGroupId).ToArray();

                List <ProductHeaders> productHeaders = db.ProductHeaders.Where(x => groupIds.Contains(x.CategoryId)).ToList();
                List <Product>        products       = db.Product.Where(x => x.TopProductGroupId == pId && x.Deleted == false && x.Online == true).OrderBy(x => x.SortNumber).ToList();
                int[] prIds = db.Product.Select(x => x.ProductId).ToArray();
                List <ProductInformation> procudtDetails = db.ProductInformation.Where(x => prIds.Contains(x.ProductId)).ToList();

                foreach (var item in products)
                {
                    ProductPriceDetail detail = new ProductPriceDetail();
                    detail.ProductName  = item.Name;
                    detail.CategoryId   = item.ProductGroupId;
                    detail.ProductId    = item.ProductId;
                    detail.PageSlug     = item.PageSlug;
                    detail.headers      = productHeaders.FirstOrDefault(x => x.CategoryId == detail.CategoryId);
                    detail.productsinfo = procudtDetails.Where(x => x.ProductId == detail.ProductId).ToList();
                    model.Info.Add(detail);
                }

                var grps = ProductManager.GetProductGroupListForFront(lang);
                model.prodgroups = new List <ProductGroup>();
                foreach (var item in grps)
                {
                    ProductGroup pg = new ProductGroup();
                    pg.GroupName      = item.GroupName;
                    pg.ProductGroupId = item.ProductGroupId;
                    pg.PageSlug       = item.PageSlug;
                    pg.TopProductId   = item.TopProductId;
                    model.prodgroups.Add(pg);
                }

                ViewBag.ProductGroup = ProductManager.GetProductGroupItem(pId);


                if (Session["userlogin"] != null)
                {
                    ViewBag.userloginemail = Session["userlogin"];
                }
                else
                {
                    ViewBag.userloginemail = "";
                }

                return(View(model));
            }

            //List<ProductHeaders> headerlist = d
            //return View(ProductManager.GetProductListFront(pId).ToList());

            return(View());
        }
Exemplo n.º 8
0
        public async Task <int> SaveProductPriceDetail(ProductPriceDetail productPriceDetail)
        {
            await _allInOneContext.ProductPriceDetail.AddAsync(productPriceDetail);

            return(await _allInOneContext.SaveChangesAsync());
        }
Exemplo n.º 9
0
 public ActionResult CreateUpdateDetail(ProductPriceDetail data)
 {
     using (var dbConn = Helpers.OrmliteConnection.openConn())
     {
         try
         {
             if (data.id > 0)
             {
                 //if (accessDetail.sua && ModelState.IsValid)
                 //{
                 var exist = dbConn.SingleOrDefault <ProductPriceDetail>("id ={0}", data.id);
                 if (data.ngay_ap_dung > data.ngay_ket_thuc)
                 {
                     return(Json(new { success = false, error = "Ngày kết thúc phải >= ngày áp dụng chính sách giá" }));
                 }
                 var csGiaNCC = dbConn.Select <ProductPriceHeader>(p => p.ma_chinh_sach_gia == data.ma_chinh_sach_gia).FirstOrDefault();
                 if (!checkRangeDateNhomVatTuNCC(csGiaNCC, data))
                 {
                     return(Json(new { success = false, error = "Thời gian áp dụng Chính sách giá được phép trong khoảng từ {0} đến {1}".Params(csGiaNCC.ngay_ap_dung, csGiaNCC.ngay_ket_thuc) }));
                 }
                 data.nguoi_cap_nhat = currentUser.ma_nguoi_dung;
                 data.ngay_cap_nhat  = DateTime.Now;
                 data.trang_thai     = data.trang_thai;
                 dbConn.Update(data);
                 //}
                 //else
                 //{
                 //    return Json(new { success = false, error = "Bạn không có quyền cập nhập." });
                 //}
             }
             else
             {
                 //    if (accessDetail.them && ModelState.IsValid)
                 //    {
                 var isExist = dbConn.Select <ProductPriceDetail>(p => p.ma_chinh_sach_gia == data.ma_chinh_sach_gia && p.ma_vat_tu == data.ma_vat_tu).FirstOrDefault();
                 if (isExist != null)
                 {
                     return(Json(new { success = false, error = "Nhóm vật tư đã có trong chính sách giá NCC" }));
                 }
                 if (data.ngay_ap_dung > data.ngay_ket_thuc)
                 {
                     return(Json(new { success = false, error = "Ngày kết thúc phải >= ngày áp dụng chính sách giá" }));
                 }
                 var csGiaNCC = dbConn.Select <ProductPriceHeader>(p => p.ma_chinh_sach_gia == data.ma_chinh_sach_gia).FirstOrDefault();
                 if (!checkRangeDateNhomVatTuNCC(csGiaNCC, data))
                 {
                     return(Json(new { success = false, error = "Thời gian áp dụng Chính sách giá được phép trong khoảng từ {0} đến {1}".Params(csGiaNCC.ngay_ap_dung, csGiaNCC.ngay_ket_thuc) }));
                 }
                 data.trang_thai    = data.trang_thai;
                 data.ngay_tao      = DateTime.Now;
                 data.nguoi_tao     = User.Identity.Name;
                 data.ngay_cap_nhat = DateTime.Parse("1900-01-01");
                 dbConn.Insert(data);
                 //}
                 //else
                 //{
                 //    return Json(new { success = false, error = "Bạn không có quyền thêm dữ liệu" });
                 //}
             }
         }
         catch (Exception ex)
         {
             return(Json(new { success = false, error = ex.Message }));
         }
         return(Json(new { success = true }));
     }
 }