public ActionResult DateRangeNullableTests()
 {
     var model = new DateRangeViewModel();
     model.Name = "Nazwa";
     model.DateRange = new DateRange(null, DateTime.Today);
     return View("DateRangeTests");
 }
Example #2
0
        public ActionResult DateRange([Bind(Include = "StartDate,EndDate,MemberId")] DateRangeViewModel viewModel)
        {
            var payments = db.GetDbSet <Payment>().Include("Member").Where(p => !p.IsArchived);

            if (viewModel.StartDate != null)
            {
                payments = payments.Where(p => p.Date >= viewModel.StartDate);
            }
            if (viewModel.EndDate != null)
            {
                payments = payments.Where(p => p.Date <= viewModel.EndDate);
            }
            if (viewModel.MemberId != null)
            {
                payments = payments.Where(p => p.MemberID == viewModel.MemberId);
            }

            ViewBag.Total = payments.Sum(a => a.Amount);

            ViewBag.DateTime  = DateTime.Now;
            ViewBag.StartDate = string.Format("{0:MM/dd/yyyy}", viewModel.StartDate);
            ViewBag.EndDate   = string.Format("{0:MM/dd/yyyy}", viewModel.EndDate);

            return(new Rotativa.PartialViewAsPdf("PrintView", payments));
        }
Example #3
0
 public ActionResult ClientDueReport(DateRangeViewModel model)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(Json(new { Flag = false, Msg = "Invalid Data." }, JsonRequestBehavior.AllowGet));
         }
         var data = _db.ClientInfos.Include(x => x.ServiceInfo)
                    .Join(_db.CustomerPayments, x => x.Id, y => y.CustomerId, (x, y) => new { x, y })
                    .Where(w => DbFunctions.TruncateTime(w.x.EntryDate) >= model.FromDate.Date && DbFunctions.TruncateTime(w.x.EntryDate) <= model.ToDate.Date)
                    .GroupBy(g => new
         {
             g.x.EntryDate,
             g.x.CustomerId,
             g.x.FullName,
             g.x.ContactNo,
             g.x.Referral,
             g.x.ServiceInfo.ServiceName,
             g.x.ServiceCharge
         })
                    .Select(s => new
         {
             s.Key.EntryDate,
             s.Key.CustomerId,
             s.Key.FullName,
             s.Key.ContactNo,
             s.Key.Referral,
             s.Key.ServiceName,
             s.Key.ServiceCharge,
             Paid = s.Sum(x => x.y.PaymentAmount),
             Due  = s.Key.ServiceCharge - s.Sum(x => x.y.PaymentAmount)
         }).ToList();
         var clientDues = data.OrderByDescending(x => x.EntryDate).Select(x => new
         {
             Date      = string.Format("{0:yyyy-MM-dd}", x.EntryDate),
             CID       = x.CustomerId,
             Name      = x.FullName,
             Referral  = x.Referral ?? "",
             ContactNo = x.ContactNo ?? "",
             Service   = x.ServiceName,
             x.ServiceCharge,
             x.Paid,
             x.Due
         }).ToList();
         return(Json(new
         {
             Flag = true,
             ClientDues = clientDues,
             ServiceCharge = data.Sum(x => x.ServiceCharge),
             Paid = data.Sum(x => x.Paid),
             Due = data.Sum(x => x.Due)
         }));
     }
     catch (Exception ex)
     {
         return(Json(new { Flag = false, Msg = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
Example #4
0
        public ActionResult DateRangeNullableTests()
        {
            var model = new DateRangeViewModel();

            model.Name      = "Nazwa";
            model.DateRange = new DateRange(null, DateTime.Today);
            return(View("DateRangeTests"));
        }
Example #5
0
 public string Add(string token, DateRangeViewModel range)
 {
     using (var client = _service.CreateClient(token))
     {
         var response = client.PostAsJsonAsync(_appPath + "/api/date", range).Result;
         return(response.StatusCode.ToString());
     }
 }
Example #6
0
 public IEnumerable <DateRangeViewModel> Find(DateRangeViewModel dateRangeViewModel)
 {
     using (var client = _service.CreateClient())
     {
         var response = client.PostAsJsonAsync(_appPath + "/api/date/find", dateRangeViewModel).Result;
         var json     = response.Content.ReadAsStringAsync().Result;
         return(JsonConvert.DeserializeObject <IEnumerable <DateRangeViewModel> >(json));
     }
 }
        public IActionResult Index()
        {
            // new up a default date range for the upcoming week
            var vm = new DateRangeViewModel {
                StartDate = DateTime.Today, EndDate = DateTime.Today.AddDays(7)
            };

            return(View(vm));
        }
 public ActionResult DateRangeTests()
 {
     var model = new DateRangeViewModel();
     model.Name = "Nazwa";
     model.DateRange = new DateRange(null, DateTime.Today);
     model.UsualDate = DateTime.Today;
     model.DateRangeWithFormat = new DateRange(null, DateTime.Today);
     return View(model);
 }
Example #9
0
 public ActionResult DateRange(DateRangeViewModel dateRangeViewModel = null)
 {
     //using (LoginDBEntities db = new LoginDBEntities())
     //{
     //    DateRangeViewModel dateRangeViewModel = new DateRangeViewModel();
     //    dateRangeViewModel.ClientTable = db.clientTables.ToList();
     //    return View(dateRangeViewModel);
     //}
     return(View());
 }
Example #10
0
        public IActionResult MainCategories(DateRangeViewModel dateRangeVM)
        {
            ModelState.Clear();

            ExpensesStatisticsService service           = new ExpensesStatisticsService(UserId, dateRangeVM.Start, dateRangeVM.End);
            List <CategorySummary>    categorySummaries = service.MainCategories();
            MainCategoriesViewModel   vm = new MainCategoriesViewModel(categorySummaries, dateRangeVM);

            return(View(vm));
        }
Example #11
0
        public ActionResult DateRangeTests()
        {
            var model = new DateRangeViewModel();

            model.Name                = "Nazwa";
            model.DateRange           = new DateRange(null, DateTime.Today);
            model.UsualDate           = DateTime.Today;
            model.DateRangeWithFormat = new DateRange(null, DateTime.Today);
            return(View(model));
        }
        public async Task <IHttpActionResult> Post([FromBody] DateRangeViewModel rangeModel)
        {
            if (rangeModel == null)
            {
                return(BadRequest());
            }

            _repository.Add(_mapper.Map <DateRange>(rangeModel));
            await _unitOfWork.SaveAsync();

            return(Ok());
        }
Example #13
0
        public ActionResult DateRangeO(DateRangeViewModel dateRangeViewModel)
        {
            var             strt = dateRangeViewModel.FromDate;
            var             end  = dateRangeViewModel.ToDate;
            LoginDBEntities dbm  = new LoginDBEntities();

            IEnumerable <clientTable> signatures = from p in dbm.clientTables
                                                   where p.DOB >= strt.Date && p.DOB <= end.Date
                                                   select p;

            dateRangeViewModel.ClientTable = signatures.ToList();

            return(View("DateRange", dateRangeViewModel));
        }
Example #14
0
 public ActionResult AgentDueReport(DateRangeViewModel model)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(Json(new { Flag = false, Msg = "Invalid Data." }, JsonRequestBehavior.AllowGet));
         }
         var data = _db.AgentInfos
                    .Where(w => _db.ClientInfos.Any(c => c.AgentId == w.Id && c.AgentId != null))
                    .Select(x => new
         {
             x.AgentName,
             x.MobileNo,
             x.Email,
             PaymentDate = _db.CustomerPayments.Where(c => c.CustomerId == x.Id && c.Channel == Channel.IsAgent)
                           .OrderByDescending(o => o.PaymentDate).Select(s => s.PaymentDate).FirstOrDefault(),
             PaymentAmount = (double?)_db.CustomerPayments.Where(c => c.CustomerId == x.Id && c.Channel == Channel.IsAgent).Sum(s => s.PaymentAmount) ?? 0.00,
             ServiceCharge = _db.ClientInfos.Where(c => c.AgentId == x.Id && c.AgentId != null).Sum(s => s.ServiceCharge),
             DueAmount     = _db.CustomerPayments.Any(c => c.CustomerId == x.Id && c.Channel == Channel.IsAgent)
                             ? _db.ClientInfos.Where(c => c.AgentId == x.Id && c.AgentId != null).Sum(s => s.ServiceCharge) -
                             _db.CustomerPayments.Where(c => c.CustomerId == x.Id && c.Channel == Channel.IsAgent).Sum(s => s.PaymentAmount)
                             : _db.ClientInfos.Where(c => c.AgentId == x.Id && c.AgentId != null).Sum(s => s.ServiceCharge)
         }).ToList();
         var agentDues = data.Select(x => new
         {
             x.AgentName,
             AgentContact = x.MobileNo ?? "",
             x.Email,
             PaymentDate = string.Format("{0:yyyy-MM-dd}", x.PaymentDate),
             x.PaymentAmount,
             x.ServiceCharge,
             x.DueAmount
         }).OrderBy(x => x.AgentName).ToList();
         return(Json(new
         {
             Flag = true,
             AgentDues = agentDues,
             TotalServiceCharge = agentDues.Sum(x => x.ServiceCharge),
             TotalPayment = agentDues.Sum(x => x.PaymentAmount),
             DueAmount = agentDues.Sum(x => x.DueAmount)
         }));
     }
     catch (Exception ex)
     {
         return(Json(new { Flag = false, Msg = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
        public MainCategoriesViewModel(List <CategorySummary> categorySummaries, DateRangeViewModel dateRangeVm)
        {
            DateRangeVm  = dateRangeVm;
            ExpensesCost = categorySummaries.Sum(x => x.ExpensesCost);

            foreach (var item in categorySummaries)
            {
                PieCharts.Add(new ExpensesPieChartViewModel()
                {
                    TooltipLabels      = item.SummaryItems.Select(x => $"{x.Name}: {x.Percentage}% ({x.Value} zł)").ToList(),
                    LegendLabels       = item.SummaryItems.Select(x => x.Name + $" ({x.Value} zł)").ToList(),
                    Percentages        = item.SummaryItems.Select(x => (decimal)x.Percentage).ToList(),
                    Title              = $"{item.Category.Name} ({item.ExpensesCost} zł)",
                    HexBgColors        = GetChartItemBgColors(item.SummaryItems.Count()),
                    ExpensesCategoryId = item.Category.Id
                });
            }
        }
Example #16
0
        public IActionResult CategoryExpenses(int?id, DateRangeViewModel dateRangeVM)
        {
            ModelState.Clear();

            ExpensesStatisticsService service = new ExpensesStatisticsService(UserId, dateRangeVM.Start, dateRangeVM.End);

            DbDataReadPermission readPermission = new DbDataReadPermission(UserId, id);

            if (!id.HasValue || !readPermission.HasPermission)
            {
                return(View(new CategoryExpensesViewModel(service.GetAvailableCategories(), dateRangeVM)));
            }

            var data = service.CategoryExpenses(id.Value);
            CategoryExpensesViewModel vm = new CategoryExpensesViewModel(data.summary, data.availableCategories, data.selectedCategory, dateRangeVM);

            return(View(vm));
        }
Example #17
0
 public ActionResult DailyPaymentReport(DateRangeViewModel model)
 {
     try
     {
         if (model == null)
         {
             return(Json(new { Flag = false, Msg = "Select a date for report." }, JsonRequestBehavior.AllowGet));
         }
         var dailyPayments = _db.CustomerPayments.Include(x => x.PaymentMethod)
                             .Where(x => DbFunctions.TruncateTime(x.PaymentDate) == model.FromDate.Date)
                             .Select(x => new
         {
             x.PaymentDate,
             x.PaymentAmount,
             PaymentMethod = x.PaymentMethod != null ? x.PaymentMethod.MethodName : "",
             x.Channel,
             PaymentBy =
                 x.Channel == Channel.IsAgent ? _db.AgentInfos.Where(w => w.Id == x.CustomerId).Select(s => s.AgentName).FirstOrDefault()
                     : x.Channel == Channel.IsSupplier ? _db.SuppliersInfos.Where(w => w.Id == x.CustomerId).Select(s => s.SupplierName).FirstOrDefault()
                     : _db.ClientInfos.Where(w => w.Id == x.CustomerId).Select(s => s.FirstName).FirstOrDefault(),
             Branch = _db.BranchInfos.Where(w => w.Id == x.BranchId).Select(s => s.BranchName).FirstOrDefault()
         })
                             .ToList();
         return(Json(new
         {
             Flag = true,
             DailyPayments = dailyPayments.OrderByDescending(x => x.PaymentDate).Select(x => new
             {
                 PaymentDate = string.Format("{0:yyyy-MM-dd}", x.PaymentDate),
                 x.PaymentAmount,
                 x.PaymentMethod,
                 Channel = Common.GetDescription(x.Channel),
                 x.PaymentBy,
                 x.Branch
             }),
             TotalPayment = dailyPayments.Sum(s => s.PaymentAmount)
         }));
     }
     catch (Exception ex)
     {
         return(Json(new { Flag = false, Msg = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
        public IActionResult Display(DateRangeViewModel vm)
        {
            if (vm.StartDate == null)
            {
                vm.StartDate = DateTime.Today;
            }

            if (vm.EndDate == null)
            {
                vm.EndDate = DateTime.Today.AddDays(7);
            }

            if (vm.StartDate > vm.EndDate)
            {
                vm.StartDate = DateTime.Today;
                vm.EndDate   = DateTime.Today.AddDays(7);
            }

            vm.CalculateDateRange();
            return(View(vm));
        }
Example #19
0
 public ActionResult DateRangeTests(DateRangeViewModel model)
 {
     return(View(model));
 }
 public ActionResult DateRangeTests(DateRangeViewModel model)
 {
     return View(model);
 }
        public async Task <IHttpActionResult> GetByRange([FromBody] DateRangeViewModel rangeModel)
        {
            var ranges = await _repository.GetByRange(_mapper.Map <DateRange>(rangeModel));

            return(Ok(_mapper.Map <IEnumerable <DateRangeViewModel> >(ranges)));
        }
Example #22
0
        public async Task <IActionResult> OverView([FromQuery] DateRangeViewModel range)
        {
            AdminOverViewResult Result = await _mediatr.Send(new GetAdminOverViewQuery(range.Start, range.End));

            return(HandleResult(Result));
        }
Example #23
0
        public CategoryExpensesViewModel(CategoryExpensesSummary summary, List <Categories> availableCategories, Categories selectedCategory, DateRangeViewModel dateRangeVM) : this(availableCategories, dateRangeVM)
        {
            categoryId   = selectedCategory.Id;
            categoryName = selectedCategory.Name;

            if (summary.GroupedExpenses.Count() == 0)
            {
                ChartHeader = $"Nie znaleziono ani jednego wydatku w kategorii {categoryName}";
                return;
            }

            ChartHeader       = $"{categoryName} ({summary.GroupedExpenses.Sum(x => x.TotalPricesSum)}zł)";
            BarChartViewModel = new BarChartViewModel()
            {
                Type   = "horizontalBar",
                Labels = summary.GroupedExpenses.Select(x => x.Name ?? string.Empty).ToList(),
                Values = summary.GroupedExpenses.Select(x => x.TotalPricesSum).ToList(),
                Height = summary.GroupedExpenses.Count() * 20 + 30,
                LegendSquaresHexColors = new List <string>()
                {
                    categoryHexBgColor, subCategoriesHexBgColor
                },
                LegendDescriptions = new List <string>()
                {
                    $"Wydatek należący do kategorii {categoryName}", $"Wydatek należący do jednej z podkategorii kategorii {categoryName}"
                },
            };

            foreach (var item in summary.GroupedExpenses)
            {
                AddChartBgColor(item);
                AddChartTootlip(item);
            }
        }
Example #24
0
 public CategoryExpensesViewModel(List <Categories> availableCategories, DateRangeViewModel dateRangeVM)
 {
     DateRangeViewModel       = dateRangeVM;
     this.availableCategories = availableCategories;
 }
Example #25
0
        public async Task <IActionResult> UploadStats([FromQuery] DateRangeViewModel range)
        {
            AdminOverViewResult Result = await _mediatr.Send(new GetUploadStatsQuery(range.Start, range.End));

            return(HandleResult(Result, Result.FilesCount));
        }
Example #26
0
        public async Task <IActionResult> FileTypesStats([FromQuery] DateRangeViewModel range)
        {
            var Result = await _mediatr.Send(new GetFileTypeStatsQuery(range.Start, range.End));

            return(HandleResult(Result, Result.FileTypesCount));
        }