public void DeleteReport(string postData, int id) { try { tbl_Reports tblReport = new tbl_Reports(); IList <tbl_Reports> lstReports = GetReports(id); var isExisting = lstReports.Where(q => q.ReportName == postData && q.daId == id); tblReport.EntityState = EntityState.Deleted; if (isExisting != null) { foreach (var item in isExisting) { IGenericDataRepository <tbl_Reports> repository = new GenericDataRepository <tbl_Reports>(); tblReport.daId = item.daId; tblReport.ReportDesc = item.ReportDesc; tblReport.ReportID = item.ReportID; tblReport.ReportName = item.ReportName; tblReport.ReqReference = item.ReqReference; tblReport.SourceID = item.SourceID; tblReport.IsLinked = item.IsLinked; tblReport.PeriodID = item.PeriodID; tblReport.TransactionSeq = item.TransactionSeq; tblReport.EntityState = EntityState.Deleted; repository.Remove(tblReport); } } } catch (Exception) { throw; } }
public int SaveReports(IList <ReportsViewModel> reportsViewModel, int daId) { try { int result = 0; ReportManager reportsManager = new ReportManager(); var lstReportsfrmDB = reportsManager.GetReportFrmDB(daId); List <tbl_Reports> lstReports = new List <tbl_Reports>(); foreach (var item in reportsViewModel) { tbl_Reports tblReports = new tbl_Reports(); #region Modify Reports //var existingReport = lstReportsfrmDB.Where(e => e.ReportName.Equals(item.reportName) && e.TransactionSeq.Equals(item.transactionSeq)); var existingReport = lstReportsfrmDB.Where(e => e.ReportID.Equals(item.reportID) && e.TransactionSeq.Equals(item.transactionSeq)); if (existingReport.Count() != 0) { foreach (var rpts in existingReport) { if (rpts.ReportID > 0) { tblReports.ReportID = Convert.ToInt32(rpts.ReportID); tblReports.ReqReference = (item.reqReference == null ? "" : item.reqReference); tblReports.ReportDesc = item.reportDesc; tblReports.ReportName = item.reportName; tblReports.SourceID = Convert.ToInt32(item.sourceId); tblReports.PeriodID = Convert.ToInt32(item.periodId); tblReports.TransactionSeq = Convert.ToInt32(item.transactionSeq); tblReports.daId = daId; ////To keep record as it is //if (Convert.ToBoolean(Convert.ToInt32(rpts.IsLinked)) == item.isLinked) // tblReports.EntityState = DA.DomainModel.EntityState.Unchanged; //to remove unchecked transaction //else tblReports.EntityState = DA.DomainModel.EntityState.Modified; tblReports.IsLinked = (item.isLinked == true ? "1" : "0");//item.isLinked; } lstReports.Add(tblReports); #endregion } } else #region Add new Report { if (item.isLinked == true) { tblReports.ReqReference = (item.reqReference == null ? "" : item.reqReference); tblReports.ReportDesc = item.reportDesc; tblReports.ReportName = item.reportName; tblReports.SourceID = Convert.ToInt32(item.sourceId); tblReports.PeriodID = Convert.ToInt32(item.periodId); tblReports.daId = daId; tblReports.TransactionSeq = item.transactionSeq; tblReports.IsLinked = (item.isLinked == true ? "1" : "0"); tblReports.EntityState = DA.DomainModel.EntityState.Added; lstReports.Add(tblReports); #endregion } } } result = reportsManager.SaveReports(lstReports); return(result); } catch (Exception) { throw; } }