Exemplo n.º 1
0
 public string Create(List <Merchant_Product_Image> list, string UserName, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 if (list == null)
                 {
                     dbTrans.Rollback();
                     return("No Data");
                 }
                 db.Delete <Merchant_Product_Image>("ma_san_pham = {0} and ma_gian_hang = {1}", list.ElementAt(0).ma_san_pham, list.ElementAt(0).ma_gian_hang);
                 foreach (Merchant_Product_Image item in list)
                 {
                     item.ngay_tao  = DateTime.Now;
                     item.nguoi_tao = UserName;
                 }
                 dbTrans.Commit();
                 return("true");
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
     }
 }
Exemplo n.º 2
0
        public ActionResult Deactive(string data)
        {
            if (userAsset.ContainsKey("Delete") && userAsset["Delete"])
            {
                IDbConnection dbConn = new OrmliteConnection().openConn();
                try
                {
                    var newdata = data.Split(',');
                    foreach (string id in newdata)
                    {
                        dbConn.Delete <Master_Announcement>(p => p.AnnouncementID == Convert.ToInt32(id));
                    }

                    return(Json(new { success = true, }));
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, message = ex.Message }));
                }
                finally
                {
                    dbConn.Close();
                }
            }
            else
            {
                return(Json(new { success = false, message = "You don't have permission" }));
            }
        }
Exemplo n.º 3
0
        //public ActionResult ReadDetail([DataSourceRequest] DataSourceRequest request, string SONumber)
        //{
        //    log4net.Config.XmlConfigurator.Configure();
        //    string whereCondition = "";
        //    if (request.Filters.Count > 0)
        //    {
        //        whereCondition = " AND " + new KendoApplyFilter().ApplyFilter(request.Filters[0]);
        //    }
        //    var data = new DC_AD_SO_Detail().GetPage(request, whereCondition, SONumber);
        //    return Json(data);
        //}
        public ActionResult Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")] IEnumerable <Products> list, string SONumber)
        {
            var dbConn = new OrmliteConnection().openConn();

            try
            {
                if (list != null && ModelState.IsValid)
                {
                    foreach (var item in list)
                    {
                        if (item.Qty > 0)
                        {
                            //string SONumber = Request["SONumber"];
                            var header = new SOHeader();
                            var detail = new SODetail();

                            if (dbConn.Select <SODetail>(s => s.SONumber == SONumber && s.ItemCode == item.Code).Count() > 0)
                            {
                                dbConn.Update <SODetail>(set: "Qty = '" + item.Qty + "', TotalAmt = '" + item.Qty * item.Price + "'", where : "SONumber = '" + SONumber + "'");
                            }
                            else
                            {
                                var data = new SODetail();
                                data.ItemName  = item.Name;
                                data.ItemCode  = item.Code;
                                data.Note      = "";
                                data.Price     = item.VATPrice;
                                data.Qty       = item.Qty;
                                data.SONumber  = SONumber;
                                data.UnitID    = item.Unit;
                                data.UnitName  = dbConn.Select <INUnit>(s => s.UnitID == item.Unit).FirstOrDefault().UnitName;
                                data.TotalAmt  = item.Qty * item.VATPrice;
                                data.Status    = "";
                                data.CreatedAt = DateTime.Now;
                                data.CreatedBy = currentUser.UserID;
                                //data.UpdatedAt = DateTime.Parse("1900-01-01");
                                data.UpdatedAt = DateTime.Now;
                                data.UpdatedBy = "";
                                dbConn.Insert <SODetail>(data);
                            }
                            dbConn.Update <SOHeader>(set: "TotalQty ='" + dbConn.Select <SODetail>(s => s.SONumber == SONumber).Sum(s => s.Qty) + "', TotalAmt = '" + +dbConn.Select <SODetail>(s => s.SONumber == SONumber).Sum(s => s.TotalAmt) + "'", where : "SONumber ='" + SONumber + "'");
                        }
                        else
                        {
                            dbConn.Delete <SOHeader>(s => s.SONumber == SONumber);
                            ModelState.AddModelError("error", "Đơn hàng được tạo khi số lượng > 0");
                            return(Json(list.ToDataSourceResult(request, ModelState)));
                        }
                    }
                }
                dbConn.Close();
            }
            catch (Exception e)
            {
                dbConn.Close();
                ModelState.AddModelError("error", e.Message);
                return(Json(list.ToDataSourceResult(request, ModelState)));
            }
            return(Json(new { sussess = true }));
        }
Exemplo n.º 4
0
        public ActionResult AddUserToGroup(int id, string data)
        {
            IDbConnection db = new OrmliteConnection().openConn();

            try
            {
                // Delete All User in Role
                db.Delete <Auth_UserInRole>(p => p.RoleID == id);

                // Add User Role
                if (!string.IsNullOrEmpty(data))
                {
                    string[] arr = data.Split(',');
                    foreach (string item in arr)
                    {
                        var detail = new Auth_UserInRole();
                        detail.UserID       = item;
                        detail.RoleID       = id;
                        detail.RowCreatedAt = DateTime.Now;
                        detail.RowCreatedBy = currentUser.UserID;
                        db.Insert <Auth_UserInRole>(detail);
                    }
                }
                return(Json(new { success = true }));
            }
            catch (Exception e) { return(Json(new { success = false, message = e.Message })); }
            finally { db.Close(); }
        }
Exemplo n.º 5
0
        public ActionResult AddTranporterToContract(string id, string data)
        {
            IDbConnection db = new OrmliteConnection().openConn();

            try
            {
                db.Delete <DC_LG_Contract_Transporter>(p => p.ContractID == id);
                if (!string.IsNullOrEmpty(data))
                {
                    string[] arr = data.Split(',');
                    foreach (string item in arr)
                    {
                        var detail = new DC_LG_Contract_Transporter();
                        detail.ContractID    = id;
                        detail.TransporterID = int.Parse(item);
                        detail.Note          = "";
                        detail.UpdatedAt     = DateTime.Now;
                        detail.CreatedAt     = DateTime.Now;
                        detail.CreatedBy     = currentUser.UserID;
                        detail.UpdatedBy     = currentUser.UserID;
                        db.Insert <DC_LG_Contract_Transporter>(detail);
                    }
                }
                return(Json(new { success = true }));
            }
            catch (Exception e) { return(Json(new { success = false, message = e.Message })); }
            finally { db.Close(); }
        }
Exemplo n.º 6
0
        public ActionResult DeleteDetail(string data, string SONumber)
        {
            var dbConn = new OrmliteConnection().openConn();

            if (userAsset.ContainsKey("Delete") && userAsset["Delete"])
            {
                try
                {
                    string[] separators = { "@@" };
                    var      listdata   = data.Split(separators, StringSplitOptions.RemoveEmptyEntries);
                    if (dbConn.Select <SOHeader>(s => s.SONumber == SONumber && s.Status != "Mới").Count() > 0)
                    {
                        return(Json(new { success = false, message = "Đơn hàng đã xác nhận nên không được xóa." }));
                    }
                    foreach (var item in listdata)
                    {
                        dbConn.Delete <SODetail>(s => s.Id == int.Parse(item));
                    }
                    if (dbConn.Select <SODetail>(s => s.SONumber == SONumber).Count() <= 0)
                    {
                        dbConn.Delete <SOHeader>(s => s.SONumber == SONumber);
                    }
                    return(Json(new { success = true }));
                }

                catch (Exception e)
                {
                    return(Json(new { success = false, message = e.Message }));
                }
                dbConn.Close();
            }
            else
            {
                dbConn.Close();
                return(Json(new { success = false, message = "Bạn không có quyền xóa dữ liệu." }));
            }
        }
Exemplo n.º 7
0
 public string Delete(string[] ids, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         try
         {
             foreach (var id in ids)
             {
                 db.Delete <Merchant_Warehouse>(s => s.ma_kho == id);
             }
             return("true");
         }
         catch (Exception e)
         {
             return(e.Message.ToString());
         }
     }
 }
Exemplo n.º 8
0
 public string Delete(string[] ids, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         try
         {
             foreach (var id in ids)
             {
                 db.Delete <Hierarchy>(s => s.id == int.Parse(id));
             }
             return("true");
         }
         catch (Exception e)
         {
             return(e.Message.ToString());
         }
     }
 }
Exemplo n.º 9
0
 public string DeleteForCode(string ma_gian_hang, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 db.Delete <Merchant_Image>(s => s.ma_gian_hang == ma_gian_hang);
                 dbTrans.Commit();
                 return("true");
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
     }
 }
Exemplo n.º 10
0
 public string Delete(string[] ids, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 foreach (var id in ids)
                 {
                     db.Delete <Merchant_Image>(s => s.id == int.Parse(id));
                 }
                 dbTrans.Commit();
                 return("true");
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
     }
 }
Exemplo n.º 11
0
 public string Delete(string[] ids, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 var checkID = db.SingleOrDefault <Image_Info>("id={0}", ids[0]);
                 foreach (var id in ids)
                 {
                     db.Delete <Image_Info>(s => s.id == int.Parse(id));
                 }
                 dbTrans.Commit();
                 return("true");
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
     }
 }
Exemplo n.º 12
0
 public string Delete(string[] ids, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 foreach (var id in ids)
                 {
                     var checkID = db.FirstOrDefault <Product_Info>(s => s.id == int.Parse(id));
                     db.Delete <Product_Info>(s => s.id == int.Parse(id));
                     // Xóa ảnh
                     if (checkID != null)
                     {
                         if (!String.IsNullOrEmpty(checkID.url))
                         {
                             var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Images/Product_Info/"), checkID.url);
                             if (!String.IsNullOrEmpty(path))
                             {
                                 System.IO.File.Delete(path);
                             }
                         }
                     }
                 }
                 dbTrans.Commit();
                 return("true");
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
     }
 }
 public string UpsertFull(Merchant_Product_Promotion promotion, List <string> products, string UserName, string connectionString)
 {
     using (var db = new OrmliteConnection().openConn(connectionString))
     {
         Merchant_Product_Promotion checkID;
         checkID = db.SingleOrDefault <Merchant_Product_Promotion>("id={0} and ma_gian_hang = {1}", promotion.id, promotion.ma_gian_hang);
         //Transaction for Promotion
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 if (checkID != null)
                 {
                     promotion.ma_chuong_trinh_km = checkID.ma_chuong_trinh_km;
                     checkID.nguoi_cap_nhat       = UserName;
                     checkID.ngay_cap_nhat        = DateTime.Now;
                     checkID.ten_chuong_trinh_km  = promotion.ten_chuong_trinh_km;
                     checkID.loai          = promotion.loai;
                     checkID.gia_tri       = promotion.gia_tri;
                     checkID.trang_thai    = promotion.trang_thai;
                     checkID.ngay_bat_dau  = promotion.ngay_bat_dau;
                     checkID.ngay_ket_thuc = promotion.ngay_ket_thuc;
                     db.Update(checkID);
                 }
                 else
                 {
                     var lastId = db.FirstOrDefault <Merchant_Product_Promotion>("SELECT TOP 1 * FROM Merchant_Product_Promotion ORDER BY id DESC");
                     if (lastId != null)
                     {
                         if (lastId.ma_chuong_trinh_km.Contains("KM"))
                         {
                             var nextNo = Int32.Parse(lastId.ma_chuong_trinh_km.Substring(2, 7)) + 1;
                             promotion.ma_chuong_trinh_km = "KM" + String.Format("{0:0000000}", nextNo);
                         }
                     }
                     else
                     {
                         promotion.ma_chuong_trinh_km = "KM" + "0000001";
                     }
                     promotion.trang_thai    = AllConstant.trang_thai.DANG_SU_DUNG;
                     promotion.ngay_tao      = DateTime.Now;
                     promotion.nguoi_tao     = UserName;
                     promotion.ngay_cap_nhat = DateTime.Parse("1900-1-1");
                     db.Insert(promotion);
                 }
                 dbTrans.Commit();
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
         //Transaction for Promotion Details
         using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
         {
             try
             {
                 if (products != null)
                 {
                     var checkData = db.Select <Merchant_Product_Promotion_Detail>("ma_chuong_trinh_km = {0} and ma_gian_hang = {1}", promotion.ma_chuong_trinh_km, promotion.ma_gian_hang);
                     if (checkData == null)
                     {
                         foreach (string ma_san_pham in products)
                         {
                             Merchant_Product_Promotion_Detail item = new Merchant_Product_Promotion_Detail();
                             item.id                 = 0;
                             item.ma_san_pham        = ma_san_pham;
                             item.ma_gian_hang       = promotion.ma_gian_hang;
                             item.ma_chuong_trinh_km = promotion.ma_chuong_trinh_km;
                             item.nguoi_tao          = UserName;
                             item.ngay_tao           = DateTime.Now;
                             db.Insert(item);
                         }
                     }
                     else
                     {
                         foreach (string ma_san_pham in products)
                         {
                             var checkProDetail = checkData.FirstOrDefault(s => s.ma_san_pham == ma_san_pham);
                             if (checkProDetail == null)
                             {
                                 Merchant_Product_Promotion_Detail item = new Merchant_Product_Promotion_Detail();
                                 item.id                 = 0;
                                 item.ma_san_pham        = ma_san_pham;
                                 item.ma_gian_hang       = promotion.ma_gian_hang;
                                 item.ma_chuong_trinh_km = promotion.ma_chuong_trinh_km;
                                 item.nguoi_tao          = UserName;
                                 item.ngay_tao           = DateTime.Now;
                                 db.Insert(item);
                             }
                             else
                             {
                                 checkData.Remove(checkProDetail);
                             }
                         }
                         if (checkData != null)
                         {
                             foreach (Merchant_Product_Promotion_Detail item in checkData)
                             {
                                 db.Delete <Merchant_Product_Promotion_Detail>("ma_chuong_trinh_km = {0} and ma_gian_hang = {1} and ma_san_pham = {2}", item.ma_chuong_trinh_km, item.ma_gian_hang, item.ma_san_pham);
                             }
                         }
                     }
                 }
                 else
                 {
                     db.Delete <Merchant_Product_Promotion_Detail>("ma_chuong_trinh_km = {0} and ma_gian_hang = {1}", promotion.ma_chuong_trinh_km, promotion.ma_gian_hang);
                 }
                 dbTrans.Commit();
             }
             catch (Exception e)
             {
                 dbTrans.Rollback();
                 return(e.Message.ToString());
             }
         }
     }
     return("true" + promotion.ma_chuong_trinh_km);
 }
Exemplo n.º 14
0
        public ActionResult Create(DC_LG_Contract item)
        {
            IDbConnection db = new OrmliteConnection().openConn();

            try
            {
                if (!string.IsNullOrEmpty(item.ContractID) &&
                    !string.IsNullOrEmpty(item.ContractName)
                    )
                {
                    var isExist = db.SingleOrDefault <DC_LG_Contract>("ContractID={0}", item.ContractID);
                    var data    = Request["TransporterID"];
                    //string data = !string.IsNullOrEmpty(item.TransporterID) ? item.TransporterID : "";
                    double n;
                    item.StartDate       = item.StartDate != null ? item.StartDate : DateTime.Now;
                    item.EndDate         = item.EndDate != null ? item.EndDate : DateTime.Now;
                    item.DiscountPercent = double.TryParse(item.DiscountPercent.ToString(), out n) ? item.DiscountPercent / 100 : 0;
                    if (item.StartDate > item.EndDate)
                    {
                        return(Json(new { success = false, message = "Ngày kết thúc không thể lớn hơn " + item.StartDate }));
                    }
                    item.Note            = !string.IsNullOrEmpty(item.Note) ? item.Note : "";
                    item.DiscountPercent = !string.IsNullOrEmpty(item.DiscountPercent.ToString()) ? item.DiscountPercent : 0;
                    if (userAsset.ContainsKey("Insert") && userAsset["Insert"] && item.CreatedAt == null && item.CreatedBy == null)
                    {
                        if (isExist != null)
                        {
                            return(Json(new { success = false, message = "Mã hợp đồng đã tồn tại" }));
                        }
                        item.ContractName = !string.IsNullOrEmpty(item.ContractName) ? item.ContractName : "";
                        item.CreatedAt    = DateTime.Now;
                        item.UpdatedAt    = DateTime.Parse("1900-01-01");
                        item.CreatedBy    = currentUser.UserID;
                        db.Insert(item);
                        db.Delete <DC_LG_Contract_Transporter>(p => p.ContractID == item.ContractID);
                        if (!string.IsNullOrEmpty(data))
                        {
                            string[] arr = data.Split(',');
                            foreach (string ite in arr)
                            {
                                var detail = new DC_LG_Contract_Transporter();
                                detail.ContractID    = item.ContractID;
                                detail.TransporterID = int.Parse(ite);
                                detail.Note          = "";
                                detail.UpdatedAt     = DateTime.Now;
                                detail.CreatedAt     = DateTime.Now;
                                detail.CreatedBy     = currentUser.UserID;
                                detail.UpdatedBy     = currentUser.UserID;
                                db.Insert <DC_LG_Contract_Transporter>(detail);
                            }
                        }
                        return(Json(new { success = true, ContractID = item.ContractID, CreatedBy = item.CreatedBy, CreatedAt = item.CreatedAt, }));
                    }
                    else if (userAsset.ContainsKey("Update") && userAsset["Update"] && isExist != null)
                    {
                        item.ContractName = !string.IsNullOrEmpty(item.ContractName) ? item.ContractName : "";
                        item.CreatedBy    = isExist.CreatedBy;
                        item.CreatedAt    = isExist.CreatedAt;
                        item.UpdatedAt    = DateTime.Now;
                        item.UpdatedBy    = currentUser.UserID;
                        db.Update(item);
                        db.Delete <DC_LG_Contract_Transporter>(p => p.ContractID == item.ContractID);
                        if (!string.IsNullOrEmpty(data))
                        {
                            string[] arr = data.Split(',');
                            foreach (string ite in arr)
                            {
                                var detail = new DC_LG_Contract_Transporter();
                                detail.ContractID    = item.ContractID;
                                detail.TransporterID = int.Parse(ite);
                                detail.Note          = "";
                                detail.UpdatedAt     = DateTime.Now;
                                detail.CreatedAt     = DateTime.Now;
                                detail.CreatedBy     = currentUser.UserID;
                                detail.UpdatedBy     = currentUser.UserID;
                                db.Insert <DC_LG_Contract_Transporter>(detail);
                            }
                        }
                        return(Json(new { success = true }));
                    }
                    else
                    {
                        return(Json(new { success = false, message = "Bạn không có quyền" }));
                    }
                }
                else
                {
                    return(Json(new { success = false, message = "Chưa nhập đủ giá trị" }));
                }
            }
            catch (Exception e)
            {
                log.Error("Contract - Create - " + e.Message);
                return(Json(new { success = false, message = e.Message }));
            }
            finally { db.Close(); }
        }
Exemplo n.º 15
0
 public string UpdateProduct(Merchant_Product product, Merchant_Product_Hierarchy hierarchy, List <Merchant_Product_Image> listimage, List <Merchant_Product_Property> listproperty, string connectstring)
 {
     using (var db = new OrmliteConnection().openConn(connectstring))
     {
         try
         {
             Merchant_Product checkProduct;
             if (product.ma_gian_hang == "All")
             {
                 checkProduct = db.FirstOrDefault <Merchant_Product>("ma_san_pham = {0}", product.ma_san_pham);
             }
             else
             {
                 checkProduct = db.FirstOrDefault <Merchant_Product>("ma_san_pham = {0} and ma_gian_hang = {1}", product.ma_san_pham, product.ma_gian_hang);
             }
             if (checkProduct == null)
             {
                 return("Thông tin không hợp lệ");
             }
             checkProduct.url                 = (!string.IsNullOrEmpty(product.url) && checkProduct.url != product.url) ? product.url : checkProduct.url;
             checkProduct.catalog             = (!string.IsNullOrEmpty(product.catalog) && checkProduct.catalog != product.catalog) ? product.catalog : checkProduct.catalog;
             checkProduct.ma_loai_san_pham    = !string.IsNullOrEmpty(product.ma_loai_san_pham) ? product.ma_loai_san_pham : checkProduct.ma_loai_san_pham;
             checkProduct.part_no             = !string.IsNullOrEmpty(product.part_no) ? product.part_no : checkProduct.part_no;
             checkProduct.ten_san_pham        = !string.IsNullOrEmpty(product.ten_san_pham) ? product.ten_san_pham : checkProduct.ten_san_pham;
             checkProduct.mo_ta               = !string.IsNullOrEmpty(product.mo_ta) ? product.mo_ta : "";
             checkProduct.noi_dung            = !string.IsNullOrEmpty(product.noi_dung) ? product.noi_dung : "";
             checkProduct.tu_khoa             = !string.IsNullOrEmpty(product.tu_khoa) ? product.tu_khoa : "";
             checkProduct.tag                 = !string.IsNullOrEmpty(product.tag) ? product.tag : "";
             checkProduct.slug                = !string.IsNullOrEmpty(product.slug) ? product.slug : "";
             checkProduct.xuat_xu             = !string.IsNullOrEmpty(product.xuat_xu) ? product.xuat_xu : "";
             checkProduct.thuong_hieu         = !string.IsNullOrEmpty(product.thuong_hieu) ? product.thuong_hieu : "";
             checkProduct.model               = !string.IsNullOrEmpty(product.model) ? product.model : "";
             checkProduct.khoi_luong          = product.khoi_luong;
             checkProduct.gia_si              = product.gia_si;
             checkProduct.don_gia             = product.don_gia;
             checkProduct.trang_thai          = product.trang_thai;
             checkProduct.trang_thai_xuat_ban = AllConstant.trang_thai_xuat_ban.CHUA_XUAT_BAN;
             checkProduct.trang_thai_duyet    = AllConstant.trang_thai_duyet.CHUA_DUYET;
             checkProduct.nguoi_cap_nhat      = product.nguoi_cap_nhat;
             checkProduct.ngay_cap_nhat       = DateTime.Now;
             db.Update(checkProduct);
             //List<SqlParameter> param = new List<SqlParameter>();
             //param.Add(new SqlParameter("@id", checkProduct.id));
             //new SqlHelper().ExecuteQuery("p_UpdateSlugForMerchantProduct", param);
             // Update Hierarchy
             var checkHierarchy = db.FirstOrDefault <Merchant_Product_Hierarchy>(@"ma_san_pham = {0} and ma_gian_hang = {1} and 
                                                                                     ma_cay_phan_cap_1 = {2} and ma_cay_phan_cap_2 = {3} 
                                                                                     and ma_cay_phan_cap_3 = {4} ",
                                                                                 checkProduct.ma_san_pham,
                                                                                 checkProduct.ma_gian_hang,
                                                                                 hierarchy.ma_cay_phan_cap_1,
                                                                                 hierarchy.ma_cay_phan_cap_2,
                                                                                 hierarchy.ma_cay_phan_cap_3);
             if (checkHierarchy != null)
             {
                 db.ExecuteNonQuery(@"update Merchant_Product_Hierarchy set
                                 ma_cay_phan_cap_1 = {0},
                                 ma_cay_phan_cap_2 = {1},
                                 ma_cay_phan_cap_3 = {2},
                                 nguoi_cap_nhat = {3},
                                 ngay_cap_nhat = {4}
                                 where ma_san_pham = {5} and ma_gian_hang = {6}".Params(hierarchy.ma_cay_phan_cap_1,
                                                                                        hierarchy.ma_cay_phan_cap_2,
                                                                                        hierarchy.ma_cay_phan_cap_3,
                                                                                        product.nguoi_cap_nhat,
                                                                                        DateTime.Now,
                                                                                        checkProduct.ma_san_pham,
                                                                                        checkProduct.ma_gian_hang));
             }
             else
             {
                 hierarchy.ma_san_pham   = checkProduct.ma_san_pham;
                 hierarchy.ma_gian_hang  = checkProduct.ma_gian_hang;
                 hierarchy.ngay_tao      = DateTime.Now;
                 hierarchy.nguoi_tao     = checkProduct.nguoi_tao;
                 hierarchy.ngay_cap_nhat = DateTime.Parse("1900-01-01");
                 hierarchy.trang_thai    = AllConstant.trang_thai.DANG_SU_DUNG; // Giá trị đang hoạt động
                 db.Insert(hierarchy);
             }
             // Update Thumbnail
             if (listimage != null)
             {
                 db.Delete <Merchant_Product_Image>("ma_san_pham = {0} and ma_gian_hang = {1}", checkProduct.ma_san_pham, checkProduct.ma_gian_hang);
                 foreach (Merchant_Product_Image item in listimage)
                 {
                     if (item.id == 0)
                     {
                         item.ma_san_pham    = checkProduct.ma_san_pham;
                         item.ma_gian_hang   = checkProduct.ma_gian_hang;
                         item.ngay_tao       = DateTime.Now;
                         item.nguoi_tao      = product.nguoi_tao;
                         item.ngay_cap_nhat  = DateTime.Now;
                         item.nguoi_cap_nhat = product.nguoi_cap_nhat;
                         db.Insert(item);
                     }
                     else
                     {
                         return("Lỗi khi tạo thumbnail hình ảnh");
                     }
                 }
             }
             // Update Property
             if (listproperty != null)
             {
                 db.Delete <Merchant_Product_Property>("ma_san_pham = {0} and ma_gian_hang = {1}", checkProduct.ma_san_pham, checkProduct.ma_gian_hang);
                 foreach (Merchant_Product_Property item in listproperty)
                 {
                     if (item.id == 0)
                     {
                         item.ma_gian_hang   = checkProduct.ma_gian_hang;
                         item.ma_san_pham    = checkProduct.ma_san_pham;
                         item.ngay_tao       = DateTime.Now;
                         item.ngay_cap_nhat  = DateTime.Parse("1900-01-01");
                         item.nguoi_cap_nhat = product.nguoi_cap_nhat;
                         item.ngay_cap_nhat  = DateTime.Now;
                         db.Insert(item);
                     }
                     else
                     {
                         return("Lỗi khi cập nhật thuộc tính");
                     }
                 }
             }
             //SyncToMySQL(checkProduct.id.ToString(), product.nguoi_cap_nhat);
             SyncToMySQL(checkProduct.id.ToString(), connectstring);
             return("true");
         }
         catch (Exception ex)
         {
             return("Lỗi thao tác dữ liệu");
         }
     }
 }
Exemplo n.º 16
0
        public string Upsert(Merchant_StockInHeader data, List <Merchant_StockInDetail> listGrid, List <Merchant_StockInDetail> lstImport, bool trang_thai, string UserName, string connectionString)
        {
            using (var db = new OrmliteConnection().openConn(connectionString))
            {
                using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
                {
                    var checkID = db.SingleOrDefault <Merchant_StockInHeader>("ma_phieu_nhap_kho={0} and ma_gian_hang = {1}", data.ma_phieu_nhap_kho, data.ma_gian_hang);
                    try
                    {
                        if (checkID != null)// cap nhat merchant_stockin_header
                        {
                            if (checkID.trang_thai == AllConstant.trang_thai_duyet.DA_DUYET)
                            {
                                dbTrans.Rollback();
                                return("Phiếu nhập kho này đã được duyệt không được cập nhật nữa!");
                            }
                            checkID.trang_thai     = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                            checkID.nguoi_cap_nhat = UserName;
                            checkID.ngay_cap_nhat  = DateTime.Now;
                            checkID.ngay_nhap_kho  = DateTime.Now;
                            checkID.nguoi_giao     = data.nguoi_giao;
                            checkID.ma_kho         = data.ma_kho;
                            checkID.thu_kho        = data.thu_kho;
                            checkID.ghi_chu        = data.ghi_chu;
                            checkID.dia_diem       = data.dia_diem;
                            db.Update(checkID);
                        }
                        else// tao moi merchant_stockin_header
                        {
                            var lastId = db.FirstOrDefault <Merchant_StockInHeader>("SELECT TOP 1 * FROM Merchant_StockInHeader ORDER BY id DESC");
                            if (lastId != null)
                            {
                                if (lastId.ma_phieu_nhap_kho.Contains("GRN"))
                                {
                                    var nextNo = Int32.Parse(lastId.ma_phieu_nhap_kho.Substring(3, 10)) + 1;
                                    data.ma_phieu_nhap_kho = "GRN" + String.Format("{0:0000000000}", nextNo);
                                }
                            }
                            else
                            {
                                data.ma_phieu_nhap_kho = "GRN" + "0000000001";
                            }
                            data.ngay_nhap_kho = DateTime.Now;
                            data.ngay_tao      = DateTime.Now;
                            data.nguoi_tao     = UserName;
                            data.ngay_cap_nhat = DateTime.Parse("1900-01-01");
                            data.trang_thai    = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                            db.Insert(data);
                        }
                        dbTrans.Commit();
                    }
                    catch (Exception e)
                    {
                        dbTrans.Rollback();
                        return(e.Message.ToString());
                    }
                }
                using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
                {
                    try
                    {
                        int count = 0;
                        if (listGrid != null)                                                                                                                                // kiem tra data trong listGrid xem co gi ko
                        {
                            var checkData = db.Select <Merchant_StockInDetail>("ma_phieu_nhap_kho = {0} and ma_gian_hang = {1}", data.ma_phieu_nhap_kho, data.ma_gian_hang); // data ban đầu
                            if (checkData.Count == 0)                                                                                                                        // trong merchant_stockin_detail chua co data => them moi tất cả
                            {
                                foreach (Merchant_StockInDetail item in listGrid)
                                {
                                    var checkProDetail = checkData.FirstOrDefault(s => s.ma_san_pham == item.ma_san_pham);
                                    if (checkProDetail == null)// kiem tra xem sản phẩm này đã được thêm mới chưa
                                    {
                                        //item.id = 0;
                                        item.ma_phieu_nhap_kho = data.ma_phieu_nhap_kho;
                                        item.ma_gian_hang      = data.ma_gian_hang;
                                        item.vi_tri            = !string.IsNullOrEmpty(item.vi_tri) ? item.vi_tri : "";
                                        item.nguoi_tao         = UserName;
                                        item.ngay_tao          = DateTime.Now;
                                        item.trang_thai        = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                                        db.Insert(item);
                                    }
                                }
                            }
                            else// trong merchant_stockin_detail da tồn tại data => cap nhật cái đã tồn tại
                            {
                                foreach (Merchant_StockInDetail item in listGrid)
                                {
                                    item.vi_tri = !string.IsNullOrEmpty(item.vi_tri) ? item.vi_tri : "";
                                    var checkProDetail = checkData.FirstOrDefault(s => s.ma_san_pham == item.ma_san_pham);                                                                                                                    // check với data ban đầu
                                    if (checkProDetail == null)                                                                                                                                                                               // cái chưa tồn tại => thêm mới
                                    {
                                        var checkProDetailDatabase = db.Select <Merchant_StockInDetail>("ma_phieu_nhap_kho = {0} and ma_gian_hang = {1} and ma_san_pham = {2}", data.ma_phieu_nhap_kho, data.ma_gian_hang, item.ma_san_pham); // data đã thay dổi
                                        if (checkProDetailDatabase == null)                                                                                                                                                                   // check với data đã thay dổi
                                        {
                                            //item.id = 0;
                                            item.ma_phieu_nhap_kho = data.ma_phieu_nhap_kho;
                                            item.ma_gian_hang      = data.ma_gian_hang;
                                            item.nguoi_tao         = UserName;
                                            item.ngay_tao          = DateTime.Now;
                                            item.trang_thai        = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                                            db.Insert(item);
                                        }
                                    }
                                    else // cái đã tồn tại => cập nhật
                                    {
                                        if (item.id > 0)//kiểm tra them san pham moi mà sản phẩm đã tồn tại => ko cho phép thêm mới
                                        {
                                            //checkProDetail.vi_tri = !string.IsNullOrEmpty(item.vi_tri) ? item.vi_tri : "";
                                            checkProDetail.ghi_chu = !string.IsNullOrEmpty(item.vi_tri) ? checkProDetail.vi_tri : "";

                                            checkProDetail.so_luong_yeu_cau = item.so_luong_yeu_cau;
                                            checkProDetail.so_luong_thuc_te = item.so_luong_thuc_te;

                                            checkProDetail.don_vi_tinh    = item.don_vi_tinh;
                                            checkProDetail.nguoi_cap_nhat = UserName;
                                            checkProDetail.ngay_cap_nhat  = DateTime.Now;
                                            checkProDetail.trang_thai     = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                                            db.Update(checkProDetail);

                                            checkData.Remove(checkProDetail);
                                        }
                                    }
                                }
                                if (checkData != null)
                                {
                                    foreach (Merchant_StockInDetail item in checkData)
                                    {
                                        db.Delete <Merchant_StockInDetail>("id = {0}", item.id);
                                    }
                                }
                            }
                        }
                        //else // nếu trong listGrid k có data thì xóa tất cả record đang có trong database merchant_stockin_detail
                        //{
                        //    db.Delete<Merchant_StockInDetail>("ma_phieu_nhap_kho = {0} and ma_gian_hang = {1}", data.ma_phieu_nhap_kho, data.ma_gian_hang);
                        //}

                        if (lstImport != null) // kiểm tra lstImport có data ko
                        {
                            var checkData = db.Select <Merchant_StockInDetail>("ma_phieu_nhap_kho = {0} and ma_gian_hang = {1}", data.ma_phieu_nhap_kho, data.ma_gian_hang);
                            if (checkData.Count == 0) // kiểm tra xem trong merchant_stockin_detail ko thấy có data => thêm mới toàn bộ
                            {
                                foreach (Merchant_StockInDetail item in lstImport)
                                {
                                    item.id = 0;
                                    item.ma_phieu_nhap_kho = data.ma_phieu_nhap_kho;
                                    item.ma_gian_hang      = data.ma_gian_hang;
                                    item.vi_tri            = !string.IsNullOrEmpty(item.vi_tri) ? item.vi_tri : "";
                                    item.nguoi_tao         = UserName;
                                    item.ngay_tao          = DateTime.Now;
                                    item.trang_thai        = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                                    db.Insert(item);
                                    count++;
                                }
                            }
                            else // thấy trong merchant_stockin_detail có data => thêm mới + cập nhật
                            {
                                foreach (Merchant_StockInDetail item in lstImport)
                                {
                                    item.vi_tri = !string.IsNullOrEmpty(item.vi_tri) ? item.vi_tri : "";
                                    var checkProDetail = checkData.FirstOrDefault(s => s.ma_san_pham == item.ma_san_pham);
                                    if (checkProDetail == null)// sản phẩm này chưa có => thêm mới
                                    {
                                        item.id = 0;
                                        item.ma_phieu_nhap_kho = data.ma_phieu_nhap_kho;
                                        item.ma_gian_hang      = data.ma_gian_hang;
                                        item.nguoi_tao         = UserName;
                                        item.ngay_tao          = DateTime.Now;
                                        item.trang_thai        = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                                        db.Insert(item);
                                        count++;
                                    }
                                    else // sản phẩm đã có => (UPDATE) cộng dồn số lượng
                                    {
                                        checkProDetail.so_luong_thuc_te = checkProDetail.so_luong_thuc_te + item.so_luong_thuc_te;
                                        checkProDetail.so_luong_yeu_cau = checkProDetail.so_luong_yeu_cau + item.so_luong_yeu_cau;
                                        checkProDetail.ghi_chu          = !string.IsNullOrEmpty(item.ghi_chu) ? item.ghi_chu : checkProDetail.ghi_chu;

                                        checkProDetail.don_vi_tinh    = item.don_vi_tinh;
                                        checkProDetail.nguoi_cap_nhat = UserName;
                                        checkProDetail.ngay_cap_nhat  = DateTime.Now;
                                        checkProDetail.trang_thai     = trang_thai ? AllConstant.trang_thai_duyet.DA_DUYET : AllConstant.trang_thai_duyet.NHAP;
                                        db.Update(checkProDetail);
                                        count++;
                                        checkData.Remove(checkProDetail);
                                    }
                                }
                                if (checkData != null)
                                {
                                    foreach (Merchant_StockInDetail item in checkData)
                                    {
                                        db.Delete <Merchant_StockInDetail>("id = {0}", item.id);
                                    }
                                }
                            }
                        }

                        if (listGrid == null && lstImport == null)// xóa hết tất cả data trong Merchant_StockInDetail khi cả 2 list data k có data nào
                        {
                            db.Delete <Merchant_StockInDetail>("ma_phieu_nhap_kho = {0} and ma_gian_hang = {1}", data.ma_phieu_nhap_kho, data.ma_gian_hang);
                        }

                        //else
                        //{
                        //    db.Delete<Merchant_StockInDetail>("ma_phieu_nhap_kho = {0} and ma_gian_hang = {1}", data.ma_phieu_nhap_kho, data.ma_gian_hang);
                        //}

                        dbTrans.Commit();
                        return("true@@" + data.ma_phieu_nhap_kho + "@@" + count.ToString());
                    }
                    catch (Exception ex)
                    {
                        dbTrans.Rollback();
                        return("false@@" + data.ma_phieu_nhap_kho + " " + ex.Message);
                    }
                }
            }
        }