public int AddNewDealership(NewDealershipModel newDealership, long createdUserId) { var existingDealerships = this._context.Dealerships.Where(d => d.Name == newDealership.DealershipName).FirstOrDefault(); if (existingDealerships != null) { return(-1); } var newDealershipEntity = new Dealership() { Name = newDealership.DealershipName, Owner = createdUserId }; _context.Dealerships.Add(newDealershipEntity); try { _context.SaveChanges(); } catch (Exception e) { return(-1); } foreach (var report in newDealership.ReportStyles) { _undercarriageContext.DealershipReports.Add(new DealershipReports() { DealershipId = newDealershipEntity.DealershipId, ReportId = report.ReportId }); } foreach (var qReport in newDealership.QuoteReportStyles) { _undercarriageContext.DealershipQuoteReports.Add(new DealershipQuoteReports() { DealershipId = newDealershipEntity.DealershipId, QuoteReportId = qReport.ReportId, }); } try { _undercarriageContext.SaveChanges(); } catch (Exception e) { return(-1); } new Core.Domain.UserAccessDomain.DealerGroupAccess(new DAL.SharedContext(), (int)createdUserId).AddDealerToDealerGroup(newDealership.DealerGroupId, newDealershipEntity.DealershipId); return(newDealershipEntity.DealershipId); }
public async Task <NewDealershipModel> GetDealershipDetails(int dealershipId) { var reports = await _undercarriageContext.DealershipReports.Where(r => r.DealershipId == dealershipId).Select(r => r.ReportId).ToListAsync(); List <ReportModel> reportStyles = new List <ReportModel>(); reports.ForEach(r => { var report = _undercarriageContext.FLUID_REPORT_LU_REPORTS.Where(x => x.report_auto == r).FirstOrDefault(); reportStyles.Add(new ReportModel() { ReportId = report.report_auto, ReportName = report.report_display_name }); }); var quoteReports = await _undercarriageContext.DealershipQuoteReports.Where(d => d.DealershipId == dealershipId).Select(r => r.QuoteReportId).ToListAsync(); var quoteReportStyles = new List <ReportModel>(); foreach (var item in quoteReports) { var repo = _undercarriageContext.LU_QuoteReports.FirstOrDefault(r => r.Id == item); quoteReportStyles.Add(new ReportModel { ReportId = repo.Id, ReportName = repo.QuoteReportDesc }); } var dealershipName = await _context.Dealerships.Where(d => d.DealershipId == dealershipId).Select(d => d.Name).FirstOrDefaultAsync(); var result = new NewDealershipModel() { DealershipName = dealershipName, ReportStyles = reportStyles, QuoteReportStyles = quoteReportStyles }; return(result); }