Exemplo n.º 1
0
        public string UpsertFull(Merchant_Voucher voucher, List <Merchant_Voucher_Detail> products, string UserName, string connectionString)
        {
            using (var db = new OrmliteConnection().openConn(connectionString))
            {
                Merchant_Voucher checkID;
                checkID = db.SingleOrDefault <Merchant_Voucher>("id={0} and ma_gian_hang = {1}", voucher.id, voucher.ma_gian_hang);
                //Transaction for voucher
                using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
                {
                    try
                    {
                        if (checkID != null)
                        {
                            voucher.ma_khuyen_mai   = checkID.ma_khuyen_mai;
                            checkID.ten_khuyen_mai  = voucher.ten_khuyen_mai;
                            checkID.gia_tri         = voucher.gia_tri;
                            checkID.loai_khuyen_mai = voucher.loai_khuyen_mai;
                            checkID.dieu_kien       = voucher.dieu_kien;
                            checkID.mieu_ta         = voucher.mieu_ta;
                            checkID.gia_ban         = voucher.gia_ban;
                            checkID.ngay_bat_dau    = voucher.ngay_bat_dau;
                            checkID.ngay_ket_thuc   = voucher.ngay_ket_thuc;
                            checkID.so_luong        = voucher.so_luong;
                            checkID.su_dung         = voucher.su_dung;
                            checkID.url             = voucher.url;
                            checkID.ma_anh_goc      = voucher.ma_anh_goc;
                            checkID.ngay_tao        = voucher.ngay_tao;
                            checkID.nguoi_tao       = voucher.nguoi_tao;
                            checkID.ngay_cap_nhat   = DateTime.Now;
                            checkID.nguoi_cap_nhat  = UserName;
                            checkID.trang_thai      = voucher.trang_thai;
                            db.Update(checkID);
                        }
                        else
                        {
                            var lastId = db.FirstOrDefault <Merchant_Voucher>("SELECT TOP 1 * FROM Merchant_Voucher ORDER BY id DESC");
                            if (lastId != null)
                            {
                                if (lastId.ma_khuyen_mai.Contains("VC"))
                                {
                                    var nextNo = Int32.Parse(lastId.ma_khuyen_mai.Substring(2, 7)) + 1;
                                    voucher.ma_khuyen_mai = "VC" + String.Format("{0:0000000}", nextNo);
                                }
                            }
                            else
                            {
                                voucher.ma_khuyen_mai = "VC" + "0000001";
                            }
                            voucher.trang_thai    = AllConstant.trang_thai.DANG_SU_DUNG;
                            voucher.ngay_tao      = DateTime.Now;
                            voucher.nguoi_tao     = UserName;
                            voucher.ngay_cap_nhat = DateTime.Parse("1900-1-1");
                            db.Insert(voucher);
                        }
                        dbTrans.Commit();
                    }
                    catch (Exception e)
                    {
                        dbTrans.Rollback();
                        return(e.Message.ToString());
                    }
                }
                //Transaction for voucher Details
                //using (var dbTrans = db.OpenTransaction(IsolationLevel.ReadCommitted))
                //{
                //    try
                //    {
                //        if (products != null)
                //        {
                //            var checkData = db.Select<Merchant_Product_Promotion_Detail>("ma_khuyen_mai = {0} and ma_gian_hang = {1}", voucher.ma_khuyen_mai, voucher.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 = voucher.ma_gian_hang;
                //                    item.ma_chuong_trinh_km = voucher.ma_khuyen_mai;
                //                    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 = voucher.ma_gian_hang;
                //                        item.ma_chuong_trinh_km = voucher.ma_khuyen_mai;
                //                        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_khuyen_mai = {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_khuyen_mai = {0} and ma_gian_hang = {1}", voucher.ma_khuyen_mai, voucher.ma_gian_hang);
                //        }
                //        dbTrans.Commit();
                //    }
                //    catch (Exception e)
                //    {
                //        dbTrans.Rollback();
                //        return e.Message.ToString();
                //    }
                //}
            }
            return("true" + voucher.ma_khuyen_mai);
        }
Exemplo n.º 2
0
        public ActionResult CreateUpdate(Merchant_Voucher data, HttpPostedFileBase file, List <Merchant_Image_Info> listimage)
        {
            try
            {
                using (var dbConn = Helpers.OrmliteConnection.openConn())
                {
                    var checkUpd = dbConn.SingleOrDefault <Merchant_Voucher>("ma_khuyen_mai={0} and id = {1}", data.ma_khuyen_mai, data.id);
                    var checkIns = dbConn.SingleOrDefault <Merchant_Voucher>("ma_khuyen_mai={0}", data.ma_khuyen_mai);
                    if (checkUpd == null)
                    {
                        if (checkIns != null)
                        {
                            return(Json(new { success = false, error = "Mã thẻ đã tồn tại!" }));
                        }
                    }
                    //return Json(new { success = false, message = "Vui lòng chọn hình ảnh sản phẩm", JsonRequestBehavior.AllowGet });

                    if (listimage != null)
                    {
                        foreach (var item in listimage)
                        {
                            data.url        = item.duong_dan_day_du;
                            data.ma_anh_goc = item.ma_anh_goc;
                        }
                    }

                    if (file != null)
                    {
                        data.url        = new Helpers.ProcessImage().UploadImageToFolder(AllConstant.FoldderName_Merchant_Voucher, file, currentUser.ma_gian_hang, currentUser.name);
                        data.ma_anh_goc = currentUser.name + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff");
                    }

                    if (data.id > 0)
                    {
                        if (accessDetail != null && (accessDetail.access["all"] || accessDetail.access["update"]))
                        {
                            var exist = dbConn.SingleOrDefault <Merchant_Voucher>("id={0}", data.id);
                            if (data.url == null)
                            {
                                exist.url       = exist.url;
                                data.ma_anh_goc = exist.ma_anh_goc;
                            }
                            data.ngay_cap_nhat  = DateTime.Now;
                            data.nguoi_cap_nhat = currentUser.name;

                            dbConn.UpdateOnly(data,
                                              onlyFields: p =>
                                              new
                            {
                                p.ma_khuyen_mai,
                                p.ten_khuyen_mai,
                                p.loai_khuyen_mai,
                                p.url,
                                p.ma_anh_goc,
                                p.gia_tri,
                                p.dieu_kien,
                                p.gia_ban,
                                p.so_luong,
                                p.ngay_bat_dau,
                                p.ngay_ket_thuc,
                                p.mieu_ta,
                                p.trang_thai,
                                p.ngay_cap_nhat,
                                p.nguoi_cap_nhat
                            },
                                              where : p => p.id == data.id);
                        }
                        else
                        {
                            return(Json(new { success = false, error = "Don't have permission to update" }));
                        }
                    }
                    else
                    {
                        if (accessDetail != null && (accessDetail.access["all"] || accessDetail.access["create"]))
                        {
                            data.ma_gian_hang  = currentUser.ma_gian_hang;
                            data.ngay_tao      = DateTime.Now;
                            data.nguoi_tao     = currentUser.name;
                            data.ngay_cap_nhat = DateTime.Parse("01/01/1900");
                            dbConn.Insert(data);
                            int Id = (int)dbConn.GetLastInsertId();
                            data.id = Id;
                        }
                        else
                        {
                            return(Json(new { success = false, error = "Don't have permission to create" }));
                        }
                    }
                }
                return(Json(new { success = true, data = data }));
            }
            catch (Exception e)
            {
                return(Json(new { success = false, error = e.Message }));
            }
        }