//S35MenuFinal //S35MenuFinalEx //S35MenuFinalWH public bool SaveS35MenuFinalFull(List <S35MenuFinalEx> dataList, List <S35MenuFinal> detailListData, List <S35MenuFinalWH> finalWHData) { using (DbContextTransaction transaction = Context.Database.BeginTransaction()) { try { foreach (S35MenuFinalEx data in dataList) { List <S35MenuFinal> detailData = detailListData.Where(o => o.S35MenuFinalExID == data.S35MenuFinalExID).ToList(); long seq = S35MenuFinalExDAO.GetS35MenuFinalExSEQ(); long seqdetail = S35MenuFinalDAO.GetS35MenuFinalSEQ(); switch (data.Status) { // Thêm warehouse mới thì sẽ thực hiện thêm Detail mới nếu ListDetail có giá trị case ModifyMode.Insert: seq++; data.S35MenuFinalExID = GenerateID.S35MenuFinalExID(seq); this.S35MenuFinalExDAO.InsertS35MenuFinalEx(data); if (detailData.Count > 0) { //thêm S35MenuFinal #region insert S35MenuFinal foreach (S35MenuFinal s35MenuFinal in detailData) { if (s35MenuFinal.Status == ModifyMode.Insert) { seqdetail++; s35MenuFinal.S35MenuFinalID = GenerateID.S35MenuFinalID(seqdetail); s35MenuFinal.S35MenuFinalExID = data.S35MenuFinalExID; this.S35MenuFinalDAO.InsertS35MenuFinal(s35MenuFinal); } } #endregion insert S35MenuFinal } break; // Delete case ModifyMode.Delete: this.S35MenuFinalExDAO.DeleteS35MenuFinalEx(data); //Khi delete warehouse thì DB sẽ tự delete warehouse break; } } //Them Final Warehouse foreach (S35MenuFinalWH s35MenuFinalWH in finalWHData) { long seq = S35MenuFinalWHDAO.GetS35MenuFinalWHSEQ(); switch (s35MenuFinalWH.Status) { case ModifyMode.Insert: seq++; s35MenuFinalWH.S35MenuFinalWHID = GenerateID.S35MenuFinalWHID(seq); this.S35MenuFinalWHDAO.InsertS35MenuFinalWH(s35MenuFinalWH); break; } } transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); BSLog.Logger.Error(ex.Message); return(false); } } }
public S35MenuFinalController() { this.Context = new BSContext(); this.S35MenuFinalDAO = new S35MenuFinalDAO(this.Context); this.S35MenuFinalLogic = new S35MenuFinalLogic(this.Context); }