Example #1
0
        public PartialViewResult _CycleSearch(CycleVM search)
        {
            var selectedIds = new List <int>();

            if (!string.IsNullOrEmpty(search.SelectedTerritories))
            {
                selectedIds = search.SelectedTerritories
                              .Split(',', StringSplitOptions.RemoveEmptyEntries)
                              .Select(int.Parse)
                              .ToList();
            }



            if (!LoggedIsSystemAdmin)
            {
                search.DepartmentIds.Add(LoggedUserDepartmentId);
            }

            var cycles = UnitOfWork.CyclesBL.CycleSearch(search, selectedIds);
            var model  = cycles.Select(f => new CycleVM(f))
                         .ToList();

            return(PartialView("_CyclesList", model));
        }
Example #2
0
        public IList <CycleVM> FilterCycle(CycleVM search)
        {
            try
            {
                var selectedIds = new List <int>();
                if (!string.IsNullOrEmpty(search.SelectedTerritories))
                {
                    selectedIds = search.SelectedTerritories
                                  .Split(',', StringSplitOptions.RemoveEmptyEntries)
                                  .Select(int.Parse)
                                  .ToList();
                }
                if (!LoggedIsSystemAdmin)
                {
                    search.DepartmentIds.Add(LoggedUserDepartmentId);
                }


                var cycles = UnitOfWork.CyclesBL.CycleSearch(search, selectedIds);
                var model  = cycles.Select(f => new CycleVM(f))
                             .ToList();
                return(model);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Example #3
0
 public CycleExport(CycleVM obj)
 {
     Name               = obj.Name;
     CycleType          = Enum.GetName(typeof(POPEnums.CycleType), obj.CycleType).ToString();
     StartDate          = obj.StartDate.Value.Date;
     ReconciliationDate = obj.ReconciliationDate.Value;
     EndDate            = obj.EndDate.Value;
     Status             = Enum.GetName(typeof(POPEnums.CycleStatus), obj.CycleStatus).ToString();
     IsActive           = (obj.CycleIsActive == true) ? "Active" : "Inactive";
     StockAmount        = obj.TotalItems;
 }
Example #4
0
        public FileResult ExportCycelReport(CycleVM form)
        {
            using (var stream = new MemoryStream())
                try
                {
                    var ListCycle  = FilterCycle(form);
                    var SheetCycle = ListCycle.Select(c => new CycleExport(c)).ToArray();

                    var CycelReport = Helper.GenerateDataTable(SheetCycle);

                    using (var wb = new XLWorkbook())
                    {
                        wb.Worksheets.Add(CycelReport, "CyclesReport");

                        wb.SaveAs(stream);
                        return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "CyclesReport.xlsx"));
                    }
                }
                catch (Exception e) { return(null); }
        }
Example #5
0
        public IActionResult CycleDetails(int id)
        {
            var cycle = UnitOfWork.CyclesBL.GetCyclewithDep(id);

            if (cycle != null)
            {
                var model = new CycleVM()
                {
                    CycleId            = cycle.CycleId,
                    Name               = cycle.Name,
                    CycleType          = cycle.Type,
                    StartDate          = cycle.StartDate,
                    EndDate            = cycle.EndDate,
                    ReconciliationDate = cycle.ReconciliationDate,
                    Department         = cycle.Department?.Name,
                };
                ViewBag.Title = model.Name;
                return(View(model));
            }
            return(RedirectToAction("index", "Home"));
        }
Example #6
0
        public PartialViewResult filterCyclesReport(CycleVM search)
        {
            var model = FilterCycle(search);

            return(PartialView("_CycleReport", model));
        }
Example #7
0
        public List <Cycles> CycleSearch(CycleVM search, List <int> selectedTerr)
        {
            List <Cycles> results = new List <Cycles>();

            try
            {
                var CurrentDate = DateTime.Now;
                var query       = Context.Cycles.Include(f => f.CycleProduct)
                                  .Include(f => f.Department)
                                  .Where(c => c.Department.IsActive == true)
                                  .AsQueryable();
                if (search != null)
                {
                    if (!string.IsNullOrWhiteSpace(search.Name))
                    {
                        query = query.Where(u => u.Name != null && u.Name.Contains(search.Name));
                    }
                    if (search.SearchStartDate != null)
                    {
                        DateTime StartDate = DateTime.ParseExact(search.SearchStartDate, "dd/MM/yyyy HH:mm", null);
                        query = query.Where(u => u.StartDate >= StartDate);
                    }
                    if (search.SearchEndDate != null)
                    {
                        DateTime EndDate = DateTime.ParseExact(search.SearchEndDate, "dd/MM/yyyy HH:mm", null);
                        query = query.Where(u => u.EndDate <= EndDate);
                    }
                    if (search.Status != null)
                    {
                        if (search.Status == (int)POPEnums.CycleStatus.Running)
                        {
                            query = query.Where(c => c.StartDate <CurrentDate && c.EndDate> CurrentDate);
                        }
                        if (search.Status == (int)POPEnums.CycleStatus.Ended)
                        {
                            query = query.Where(c => c.EndDate < CurrentDate);
                        }
                        else if (search.Status == (int)POPEnums.CycleStatus.Upcoming)
                        {
                            query = query.Where(c => c.StartDate > CurrentDate);
                        }
                    }
                    if (search.IsActive?.Count > 0)
                    {
                        query = query.Where(c => search.IsActive.Contains(c.IsActive));
                    }
                    if (search.Type?.Count > 0 && !search.Type.Contains(0))
                    {
                        query = query.Where(c => search.Type.Contains(c.Type));
                    }
                    if (search.DepartmentIds?.Count > 0)
                    {
                        query = query.Where(c => search.DepartmentIds.Contains(c.DepartmentId));
                    }

                    if (selectedTerr.Count > 0)
                    {
                        query = query.Where(c => c.CycleTerritory.Any(t => selectedTerr.Contains(t.TerritoryId)));
                        //query = query.Where(u => u.LnkUserRole.Any(lnk => search.Role.Contains(lnk.RoleId)));

                        //foreach (var item in selectedTerr)
                        //{
                        //    var model = Context.CycleTerritory.Where(f => f.TerritoryId == item).Select(f => f.CycleId).Distinct();
                        //    query = query.Where(c => c.CycleId == item);

                        //}
                    }
                }
                results = query.OrderByDescending(d => d.StartDate)
                          .ThenBy(d => d.EndDate)
                          .ToList();
            }
            catch { }
            return(results);
        }