public ActionResult ViewCertainResult(int id)
        {
            var invoice = this.invoiceService.GetById(id);

            if (!this.IsMegaAdmin())
            {
                //Verify if asset is from user organisation
                if (invoice.CompiledUser.Site.OrganisationId != this.userService.GetUserOrganisationId(this.User.Identity.GetUserId()))
                {
                    return(Redirect("/Home/NotAuthorized"));
                }
            }

            var viewModel = new InvoiceFullViewModel
            {
                CompiledUser = (invoice.CompiledUser.FirstName != null && invoice.CompiledUser.SecondName != null && invoice.CompiledUser.LastName != null) ?
                               invoice.CompiledUser.FirstName + " " + invoice.CompiledUser.SecondName + " " + invoice.CompiledUser.LastName : invoice.CompiledUser.Email,
                DateOfIssue = invoice.DateOfCreation == DateTime.MinValue ? " - " : invoice.DateOfCreation.ToString(),
                Id          = invoice.Id,
                Items       = invoice.Items.ToList()
                              .ConvertAll(x =>
                                          new ItemViewModel
                {
                    Brand    = x.Brand,
                    Model    = x.Model,
                    Quantity = x.Quantity,
                    Price    = x.Price.Value,
                    Currency = x.Price.Currency.Code
                }),
                Number        = invoice.Number,
                PaymentPeriod = invoice.PaymentPeriod == DateTime.MinValue ? " - " : invoice.PaymentPeriod.ToShortDateString(),
                // PerformerFirmName = invoice.PerformerFirmName,
                // PerformerMOL = invoice.PerformerMOL,
                Price              = invoice.Price.Value.FormattedTo2() + " " + invoice.Price.Currency.Code,
                ProviderName       = invoice.Provider.Name,
                ProviderEmail      = invoice.Provider.Email,
                ProviderAddress    = invoice.Provider.Address,
                ProviderBulstat    = invoice.Provider.Bulstat,
                BillToAddress      = invoice.CompiledUser.Site.Organisation.Address,
                BillToOrganisation = invoice.CompiledUser.Site.Organisation.Name,
                BillToSite         = invoice.CompiledUser.Site.Name,
                RecipientMOL       = invoice.RecipientMOL,
                DateOfApproving    = invoice.DateOfApproving == DateTime.MinValue ? " - " : invoice.DateOfApproving.ToString(),
                DayOfPayment       = invoice.DateOfPayment == DateTime.MinValue ? " - " : invoice.DateOfPayment.ToString()
            };

            if (invoice.RequestToProvider != null)
            {
                viewModel.PODateOfSend = invoice.RequestToProvider.DateOfSend == DateTime.MinValue ? " - " : invoice.RequestToProvider.DateOfSend.ToString();
                viewModel.POFrom       = (invoice.RequestToProvider.From.FirstName != null && invoice.RequestToProvider.From.SecondName != null && invoice.RequestToProvider.From.LastName != null) ?
                                         invoice.RequestToProvider.From.FirstName + " " + invoice.RequestToProvider.From.SecondName + " " + invoice.RequestToProvider.From.LastName : invoice.RequestToProvider.From.Email;
                viewModel.POProvider = invoice.RequestToProvider.Provider.Name;
            }

            return(View(viewModel));
        }
Esempio n. 2
0
        public ActionResult ViewHistory(int id)
        {
            var invoice = this.invoiceService.GetById(id);

            //Verify if asset is from user organisation
            if (!this.IsMegaAdmin())
            {
                if (invoice.CompiledUser.Site.OrganisationId != this.userService.GetUserOrganisationId(this.User.Identity.GetUserId()))
                {
                    return(Redirect("/Home/NotAuthorized"));
                }
            }

            if (invoice.CompiledUserId != this.User.Identity.GetUserId())
            {
                return(Redirect("/Home/NotAuthorized"));
            }

            var viewModel = new InvoiceFullViewModel
            {
                CompiledUser = (invoice.CompiledUser.FirstName != null && invoice.CompiledUser.SecondName != null && invoice.CompiledUser.LastName != null) ?
                               invoice.CompiledUser.FirstName + " " + invoice.CompiledUser.SecondName + " " + invoice.CompiledUser.LastName : invoice.CompiledUser.Email,
                DateOfIssue = invoice.DateOfCreation.ToString(),
                Id          = invoice.Id,
                Items       = invoice.Items.ToList()
                              .ConvertAll(x =>
                                          new ItemViewModel
                {
                    Brand    = x.Brand,
                    Model    = x.Model,
                    Quantity = invoice.CounteItems.Where(y => y.Key == x.Id).FirstOrDefault().Want,
                    Price    = x.Price.Value,
                    Currency = x.Price.Currency.Code
                }),
                Number             = invoice.Number,
                PaymentPeriod      = invoice.PaymentPeriod.ToShortDateString(),
                Price              = invoice.Price.Value.FormattedTo2() + " " + invoice.Price.Currency.Code,
                ProviderName       = invoice.Provider.Name,
                ProviderEmail      = invoice.Provider.Email,
                ProviderAddress    = invoice.Provider.Address,
                ProviderBulstat    = invoice.Provider.Bulstat,
                BillToAddress      = invoice.CompiledUser.Site.Organisation.Address,
                BillToOrganisation = invoice.CompiledUser.Site.Organisation.Name,
                BillToSite         = invoice.CompiledUser.Site.Name,
                RecipientMOL       = invoice.RecipientMOL,
                DateOfApproving    = invoice.DateOfApproving.ToString(),
                DayOfPayment       = invoice.DateOfPayment.ToString()
            };

            if (invoice.RequestToProvider != null)
            {
                viewModel.PODateOfSend = invoice.RequestToProvider.DateOfSend.ToString();
                viewModel.POFrom       = (invoice.RequestToProvider.From.FirstName != null && invoice.RequestToProvider.From.SecondName != null && invoice.RequestToProvider.From.LastName != null) ?
                                         invoice.RequestToProvider.From.FirstName + " " + invoice.RequestToProvider.From.SecondName + " " + invoice.RequestToProvider.From.LastName : invoice.RequestToProvider.From.Email;
                viewModel.POProvider = invoice.RequestToProvider.Provider.Name;

                var po = this.requestToProviderService.GetById(invoice.RequestToProviderId.Value);
                foreach (var item in po.GiveItems)
                {
                    viewModel.Items.Add(new ItemViewModel
                    {
                        Brand    = item.Brand,
                        Model    = item.Model,
                        Quantity = po.CountItems.Where(y => y.Key == item.Id).FirstOrDefault().Give,
                        Price    = item.Price.Value,
                        Currency = item.Price.Currency.Code
                    });
                }
            }
            return(View(viewModel));
        }