// GET: Company/Edit/5 public async Task <IActionResult> Edit(long id) { var item = await _companyBusinessManager.GetCompany(id); if (item == null) { return(NotFound()); } var summary = await _companyBusinessManager.GetSummaryRanges(item.Id); ViewBag.Summary = summary; var exportSetting = await _companyBusinessManager.GetAllExportSettings(item.Id); ViewBag.ExportSettings = exportSetting; var creditUtilizedSettings = await _businessManager.GetCustomerCreditUtilizedSettingsList(item.Id); ViewBag.CreditUtilizedSettings = _mapper.Map <List <CustomerCreditUtilizedSettingsViewModel> >(creditUtilizedSettings); var model = _mapper.Map <CompanyViewModel>(item); return(View(model)); }
// GET: Invoice/Bulk public async Task <ActionResult> Bulk() { var companies = await _companyBusinessManager.GetCompanies(); ViewBag.Companies = companies.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList(); var selectedCompany = companies.FirstOrDefault(); var model = new CustomerFilterViewModel() { CompanyId = selectedCompany?.Id ?? 0, DateFrom = DateTime.Now.FirstDayOfMonth(), DateTo = DateTime.Now.LastDayOfMonth() }; var summary = await _companyBusinessManager.GetSummaryRanges(selectedCompany?.Id ?? 0); ViewBag.SummaryRange = summary.Select(x => new SelectListItem() { Text = $"{x.From} - {x.To}", Value = x.Id.ToString() }); var customerTags = await _businessManager.GetCustomerTags(); ViewBag.Tags = customerTags.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }); var customerTypes = await _businessManager.GetCustomerTypes(); ViewBag.CustomerTypes = customerTypes.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }); //var customers = await _businessManager.GetBulkCustomers(selectedCompany?.Id ?? 0, model.DateFrom, model.DateTo); //ViewBag.Customers = _mapper.Map<List<CustomerListViewModel>>(customers); return(View(model)); }
public async Task <List <CompanySummaryRangeDto> > GetRangeByCompanyId(long id) { var result = await _companyBusinessManager.GetSummaryRanges(id); return(_mapper.Map <List <CompanySummaryRangeDto> >(result)); }
public async Task <IActionResult> GenerateConstructor(InvoiceConstructorFilterViewModel model) { try { if (!ModelState.IsValid) { throw new Exception("Form is not valid!"); } var company = await _companyBusinessManager.GetCompany(model.CompanyId); var summary = await _companyBusinessManager.GetSummaryRanges(model.CompanyId); var constructorSearches = await _businessManager.GetInvoiceConstructorSearchCriterias(model.SearchCriterias.ToArray()); var constructors = await _businessManager.GetConstructorInvoices(model.CompanyId, model.Date ?? DateTime.Now); foreach (var constructorSearch in constructorSearches) { foreach (var summaryRange in summary) { var constructor = constructors.Where(x => x.SearchCriteriaId == constructorSearch.Id && x.SummaryRangeId == summaryRange.Id).FirstOrDefault(); if (constructor == null) { var entity = await _businessManager.CreateConstructorInvoice(new InvoiceConstructorDto() { CompanyId = model.CompanyId, Date = model.Date.Value, SearchCriteriaId = constructorSearch.Id, SummaryRangeId = summaryRange.Id }); constructors.Add(entity); } else { //update } } } var customerCounts = new Dictionary <long, int>(); foreach (var searchCriteria in constructorSearches) { var constructor = new InvoiceConstructorDto() { CompanyId = model.CompanyId, Date = model.Date ?? DateTime.Now, SearchCriteriaId = searchCriteria.Id, }; var customers = await _businessManager.GetCustomers(constructor); if (!customerCounts.ContainsKey(searchCriteria.Id)) { customerCounts.Add(searchCriteria.Id, customers.Count); } } var viewDataDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { { "SummaryRanges", _mapper.Map <List <CompanySummaryRangeViewModel> >(summary) }, { "SearchCriterias", _mapper.Map <List <InvoiceConstructorSearchViewModel> >(constructorSearches) }, { "CompanyName", company.Name }, { "Constructors", _mapper.Map <List <InvoiceConstructorViewModel> >(constructors) }, { "CustomerCounts", customerCounts } }; string html = _viewRenderService.RenderToStringAsync("_ConstructorPartial", model, viewDataDictionary).Result; return(Ok(html)); } catch (Exception er) { return(BadRequest(er.Message ?? er.StackTrace)); } }