public async Task <IActionResult> DetailsFact(long id)
        {
            var company = await _companyBusinessManager.GetCompany(id);

            if (company == null)
            {
                return(BadRequest());
            }
            return(View(_mapper.Map <CompanyViewModel>(company)));
        }
Exemple #2
0
        public async Task <ActionResult> Details(long id)
        {
            var item = await _companyBusinessManager.GetCompany(id);

            if (item == null)
            {
                return(NotFound());
            }
            if (IsAjaxRequest)
            {
                return(PartialView(_mapper.Map <CompanyViewModel>(item)));
            }
            return(View(_mapper.Map <CompanyViewModel>(item)));
        }
Exemple #3
0
        public async Task <IActionResult> AddCompanySection(long id)
        {
            var result = await _companyBusinessManager.GetCompany(id);

            if (result == null)
            {
                return(NotFound());
            }

            var companySections = await _companyBusinessManager.GetSections(id);

            var sections = await _sectionBusinessManager.GetSections();

            var exist = sections.Where(x => !companySections.Any(y => x.Id == y.SectionId)).ToList();

            var viewDataDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
            {
                { "SectionList", _mapper.Map <List <SectionViewModel> >(exist) }
            };

            if (exist.Count != 0)
            {
                var model = new CompanySectionViewModel()
                {
                    CompanyId = id
                };
                string html = _viewRenderService.RenderToStringAsync("_AddSectionPartial", model, viewDataDictionary).Result;
                return(Ok(html));
            }
            else
            {
                return(Ok("Nothing to display"));
            }
        }
Exemple #4
0
        public async Task <IActionResult> CreateSavedReportView([FromQuery] ReportFilterViewModel model)
        {
            try {
                if (!ModelState.IsValid)
                {
                    throw new Exception("Form is not valid!");
                }

                var company = await _companyBusinessManager.GetCompany(model.CompanyId);

                if (company == null)
                {
                    return(NotFound());
                }

                var userId = new Guid(User.FindFirstValue(ClaimTypes.NameIdentifier));

                var savedItem = await _reportBusinessManager.GetSavedFactReport(userId, model.CompanyId, model.Date);

                if (savedItem != null && savedItem.IsPublished)
                {
                    string html = await _viewRenderService.RenderToStringAsync("_SaveAgingReportPartial", _mapper.Map <SavedReportViewModel>(savedItem));

                    return(Ok(html));
                }
                else
                {
                    var result = _mapper.Map <SavedReportViewModel>(savedItem) ?? new SavedReportViewModel()
                    {
                        CompanyId       = model.CompanyId,
                        Name            = company.Name,
                        Date            = model.Date,
                        NumberOfPeriods = model.NumberOfPeriods
                    };

                    var settings = await _companyBusinessManager.GetAllExportSettings(model.CompanyId);

                    var checkingCustomerAccountNumber = await _reportBusinessManager.CheckingCustomerAccountNumber(model.CompanyId, model.Date, model.NumberOfPeriods);

                    var viewDataDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
                    {
                        { "Settings", _mapper.Map <List <CompanyExportSettingsViewModel> >(settings) },
                        { "CheckingCustomerAccountNumber", _mapper.Map <ReportStatusViewModel>(checkingCustomerAccountNumber) }
                    };

                    string html = await _viewRenderService.RenderToStringAsync("_SaveAgingReportPartial", result, viewDataDictionary);

                    return(Ok(html));
                }
            } catch (Exception er) {
                return(BadRequest(er.Message ?? er.StackTrace));
            }
        }
        // GET: Company/Details/5
        public async Task <IActionResult> Details(long id)
        {
            var item = await _companyBusinessManager.GetCompany(id);

            if (item == null)
            {
                return(NotFound());
            }
            var customers = await _businessManager.GetCustomers(item.Customers.Select(x => x.Id).ToArray());

            ViewBag.Customers = customers;

            return(View(_mapper.Map <CompanyViewModel>(item)));
        }
        public async Task <CompanyViewModel> GetCompany(long id)
        {
            var result = await _companyBusinessManager.GetCompany(id);

            return(_mapper.Map <CompanyViewModel>(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));
            }
        }