Пример #1
0
        public ActionResult Search(SearchInputModel model)
        {
            var viewModel = new InvoiceSearchViewModel
            {
                Invoices = invoiceService.GetInvoices(model.InvoiceSearchText)
            };

            return(View("Search", viewModel));
        }
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> SignIn(SignIn model, string returnUrl = null)
        {
            InvoiceSearchViewModel searchModel = new InvoiceSearchViewModel();

            searchModel.Results = 0;
            searchModel.Status  = "pending";
            searchModel.From    = string.Empty;
            searchModel.To      = string.Empty;

            if (ModelState.IsValid)
            {
                DbUserModel user;
                if (await _userService.ValidateCredentials(model.Username, model.Password, out user))
                {
                    await SignInUser(user);

                    if (!string.IsNullOrEmpty(returnUrl))
                    {
                        return(Redirect(returnUrl));
                    }

                    if (user.CategoryId == 1)
                    {
                        return(RedirectToAction("ViewInvoices", "CheckingAuthority", searchModel));
                    }
                    else if (user.CategoryId == 2)
                    {
                        return(RedirectToAction("ViewInvoices", "ApproverAuthority", searchModel));
                    }
                }
                var roles = User.FindFirst(ClaimTypes.Role).Value;
                if (roles == "1")
                {
                    return(RedirectToAction("ViewInvoices", "CheckingAuthority", searchModel));
                }
                else if (roles == "2")
                {
                    return(RedirectToAction("ViewInvoices", "ApproverAuthority", searchModel));
                }
            }
            return(View(model));
        }
Пример #3
0
        public JsonResult InvoiceList(InvoiceSearchViewModel model)
        {
            Response response;

            try
            {
                using (var db = new KiaGalleryContext())
                {
                    var query = db.CrmInvoice.Where(x => x.CustomerId == model.customerId).Select(x => new InvoiceViewModel()
                    {
                        id              = x.Id,
                        customerId      = x.CustomerId,
                        invoiceType     = x.InvoiceType,
                        amount          = x.Amount,
                        discount        = x.Discount,
                        discountPercent = x.DiscountPercent
                    });

                    var dataCount = query.Count();

                    var invoiceList = query.OrderByDescending(x => x.id).Skip(model.page * model.count).Take(model.count).ToList();

                    response = new Response()
                    {
                        status = 200,
                        data   = new
                        {
                            list      = invoiceList,
                            pageCount = Math.Ceiling((double)dataCount / model.count),
                            count     = dataCount,
                            page      = model.page + 1
                        }
                    };
                }
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public IActionResult ViewInvoices(InvoiceSearchViewModel model1)
        {
            DateTime from = DateTime.MinValue;
            DateTime to   = DateTime.MinValue;

            if (model1.Status == null || model1.Status == string.Empty)
            {
                model1.Status = "pending";
            }
            if (model1.From != null)
            {
                if (model1.From != "" || model1.From != string.Empty)
                {
                    from = DateTime.Parse(model1.From, new CultureInfo("zh-SG"));
                }
            }
            if (model1.To != null)
            {
                if (model1.To != "" || model1.To != string.Empty)
                {
                    to = DateTime.Parse(model1.To, new CultureInfo("zh-SG"));
                }
            }
            var userRole = "";
            var role     = User.FindFirst(ClaimTypes.Role).Value;

            if (role == "1")
            {
                userRole = "CheckingAuthority";
            }
            else if (role == "2")
            {
                userRole = "ApproverAuthority";
            }
            ViewBag.Name = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            IDBService            service        = new DBservice(_helper);
            var                   fetchedResults = service.GetAllInvoices(from, to, model1.Status, userRole);
            var                   results        = fetchedResults.Skip(model1.Results * 5).Take(5).OrderBy(e => e.DueDate);
            InvoicePagingResults  pagingResults  = new InvoicePagingResults();
            List <InvoiceResults> list           = new List <InvoiceResults>();

            foreach (var invoice in results)
            {
                InvoiceResults model = new InvoiceResults();
                model.InvoiceId    = invoice.InvoiceId;
                model.InvoiceNo    = invoice.InvoiceNo;
                model.AccountDate  = invoice.AccountDate.ToString("dd/M/yyyy", CultureInfo.InvariantCulture);
                model.DueDate      = invoice.DueDate.ToString("dd/M/yyyy", CultureInfo.InvariantCulture);
                model.CurrencyCode = invoice.CurrencyCode;
                model.CustomerName = invoice.CustomerName;
                model.VesselName   = invoice.VesselName;
                model.TotalAmt     = invoice.TotalLocalAmt.ToString("N",
                                                                    CultureInfo.CreateSpecificCulture("en-IN"));
                list.Add(model);
            }
            pagingResults.currentPageNumber = model1.Results;
            int records   = fetchedResults.Count();
            int remainder = records % 5;

            pagingResults.totalNumberOfRecords = remainder > 0 ? (records / 5) + 1 : (records / 5);
            pagingResults.invoiceResults       = list;
            pagingResults.modelInvoice         = model1;
            return(View(pagingResults));
        }
 public InvoiceSearch()
 {
     InitializeComponent();
     objInvoiceSearchViewModel = new InvoiceSearchViewModel();
     this.DataContext          = objInvoiceSearchViewModel;
 }