コード例 #1
0
        //Dùng để thao tác đơn lẻ với S35
        public bool SaveS35Menu(List <S35Menu> saveData)
        {
            using (DbContextTransaction transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    long seq = S35MenuDAO.GetS35MenuSEQ();
                    foreach (S35Menu data in saveData)
                    {
                        switch (data.Status)
                        {
                        // Add new
                        case ModifyMode.Insert:
                            seq++;
                            data.S35MenuID = GenerateID.S35MenuID(seq);
                            this.S35MenuDAO.InsertS35Menu(data);
                            break;

                        // Update
                        case ModifyMode.Update:
                            this.S35MenuDAO.UpdateS35MenuVoucher(data);
                            // this.S35MenuDAO.UpdateS35Menu(data);
                            break;

                        // Delete
                        case ModifyMode.Delete:
                            this.S35MenuDAO.DeleteS35Menu(data);
                            //Khi delete S35Menu thì DB sẽ tự delete S35MenuDetail
                            break;
                        }
                    }
                    transaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    BSLog.Logger.Error(ex.Message);
                    return(false);
                }
            }
        }
コード例 #2
0
 public S35MenuController()
 {
     this.Context      = new BSContext();
     this.S35MenuDAO   = new S35MenuDAO(this.Context);
     this.S35MenuLogic = new S35MenuLogic(this.Context);
 }
コード例 #3
0
        public bool SaveS35MenuFull(S35Menu data, List <S35MenuDetail> detailData)
        {
            using (DbContextTransaction transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    long seq       = S35MenuDAO.GetS35MenuSEQ();
                    long seqdetail = S35MenuDetailDAO.GetS35MenuDetailSEQ();
                    switch (data.Status)
                    {
                    // Thêm S35 mới thì sẽ thực hiện thêm Detail mới nếu ListDetail có giá trị
                    case ModifyMode.Insert:
                        seq++;
                        data.S35MenuID = GenerateID.S35MenuID(seq);
                        this.S35MenuDAO.InsertS35Menu(data);
                        if (detailData.Count > 0)
                        {
                            //thêm S35MenuDetail
                            #region insert S35MenuDetail
                            foreach (S35MenuDetail S35MenuDetail in detailData)
                            {
                                if (string.IsNullOrEmpty(S35MenuDetail.S35MenuDetailID))
                                {
                                    seqdetail++;
                                    S35MenuDetail.S35MenuDetailID = GenerateID.S35MenuDetailID(seqdetail);
                                    S35MenuDetail.S35MenuID       = data.S35MenuID;
                                    S35MenuDetail.CompanyID       = data.CompanyID;
                                    this.S35MenuDetailDAO.InsertS35MenuDetail(S35MenuDetail);
                                }
                            }
                            #endregion insert S35MenuDetail
                        }
                        break;

                    //Khi update S35 thì sẽ thực hiện update S35, Thêm mới hoặc update S35 Detail
                    case ModifyMode.Update:
                        this.S35MenuDAO.UpdateS35Menu(data);
                        if (detailData.Count > 0)
                        {
                            foreach (S35MenuDetail S35MenuDetail in detailData)
                            {
                                //thực hiện nhiệm vụ update với các chi tiết S35 đã thuộc S35
                                if (S35MenuDetail.Status == ModifyMode.Update)
                                {
                                    #region Update dataDetail
                                    if (!string.IsNullOrEmpty(S35MenuDetail.S35MenuDetailID))
                                    {
                                        this.S35MenuDetailDAO.UpdateS35MenuDetail(S35MenuDetail);
                                    }
                                    #endregion Update dataDetail
                                }
                                else if (S35MenuDetail.Status == ModifyMode.Insert)
                                {
                                    //thêm mới S35MenuDetail vào S35
                                    #region insert S35MenuDetail khi thêm detail mới cho S35 đã có sẵn
                                    if (string.IsNullOrEmpty(S35MenuDetail.S35MenuDetailID))
                                    {
                                        seqdetail++;
                                        S35MenuDetail.S35MenuDetailID = GenerateID.S35MenuDetailID(seqdetail);
                                        S35MenuDetail.S35MenuID       = data.S35MenuID;
                                        S35MenuDetail.CompanyID       = data.CompanyID;
                                        this.S35MenuDetailDAO.InsertS35MenuDetail(S35MenuDetail);
                                    }
                                    #endregion insert S35MenuDetail khi thêm detail mới cho S35 đã có sẵn
                                }
                            }
                        }
                        break;

                    // Delete
                    case ModifyMode.Delete:
                        this.S35MenuDAO.DeleteS35Menu(data);
                        //Khi delete S35Menu thì DB sẽ tự delete S35MenuDetail
                        break;

                    default:
                        //Khi S35Menu không thực thêm, xóa, sửa thì có thể sẽ có thay đổi giá trị S35Detail
                        if (detailData.Count > 0)
                        {
                            foreach (S35MenuDetail S35MenuDetail in detailData)
                            {
                                //thực hiện nhiệm vụ update với các chi tiết S35 đã thuộc S35
                                if (S35MenuDetail.Status == ModifyMode.Update)
                                {
                                    #region Update dataDetail
                                    if (!string.IsNullOrEmpty(S35MenuDetail.S35MenuDetailID))
                                    {
                                        this.S35MenuDetailDAO.UpdateS35MenuDetail(S35MenuDetail);
                                    }
                                    #endregion Update dataDetail
                                }
                                else if (S35MenuDetail.Status == ModifyMode.Insert)
                                {
                                    //thêm mới S35MenuDetail vào S35
                                    #region insert S35MenuDetail khi thêm detail mới cho S35 đã có sẵn
                                    if (string.IsNullOrEmpty(S35MenuDetail.S35MenuDetailID))
                                    {
                                        seqdetail++;
                                        S35MenuDetail.S35MenuDetailID = GenerateID.S35MenuDetailID(seqdetail);
                                        S35MenuDetail.S35MenuID       = data.S35MenuID;
                                        S35MenuDetail.CompanyID       = data.CompanyID;

                                        this.S35MenuDetailDAO.InsertS35MenuDetail(S35MenuDetail);
                                    }
                                    #endregion insert S35MenuDetail khi thêm detail mới cho S35 đã có sẵn
                                }
                            }
                        }
                        break;
                    }
                    transaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    BSLog.Logger.Error(ex.Message);
                    return(false);
                }
            }
        }