Exemplo n.º 1
0
        public PartialViewResult Search(TransactionCycle form)
        {
            try
            {
                if (form != null)
                {
                    if (form.CycleId != 0)
                    {
                        //  form.CycleId = form. cycleId;
                        ViewBag.showdata = 1;
                    }
                    else
                    {
                        ViewBag.showdata = 0;
                    }

                    // call search function

                    var data = SeachInTransaction(form);

                    return(PartialView("_TransactionReport", data));
                }
                return(PartialView("_TransactionReport", null));
            }
            catch (Exception ex)
            {
                return(PartialView("_TransactionReport", null));
            }
        }
Exemplo n.º 2
0
        public IList <Transaction> GetTransactionCycleDetails(TransactionCycle transaction)
        {
            var query = Context.Transaction
                        .Include(p => p.Cycle)
                        .Include(c => c.TransactionDetail).ThenInclude(c => c.Product)
                        .Include(c => c.FromUser)
                        .Include(c => c.ToUser)

                        .AsQueryable();

            if (transaction.types?.Count > 0)
            {
                query = query.Where(p => transaction.types.Contains(p.TransType.Value));
            }
            if (transaction.status?.Count > 0)
            {
                query = query.Where(p => transaction.status.Contains(p.Status.Value));
            }

            if (!string.IsNullOrEmpty(transaction.CycleName))
            {
                query = query.Where(p => p.Cycle.Name.Contains(transaction.CycleName));
            }

            if (!string.IsNullOrEmpty(transaction.FromUserName))
            {
                query = query.Where(p => p.FromUser.FullName.Contains(transaction.FromUserName) || p.ToUser.FullName.Contains(transaction.FromUserName));
            }
            if (transaction.userId > 0)
            {
                query = query.Where(p => p.FromUserId == transaction.userId || p.ToUserId == transaction.userId);
            }
            if (!string.IsNullOrEmpty(transaction.Product))
            {
                query = query.Where(p => p.TransactionDetail.Any(x => x.Product.Name.Contains(transaction.Product)));
            }
            if (transaction.CycleId != 0)
            {
                query = query.Where(p => p.CycleId == transaction.CycleId);
            }

            return(query.ToList());
        }
Exemplo n.º 3
0
        public FileResult ExportTransaction(TransactionCycle form)
        {
            var stream = new MemoryStream();

            try
            {
                // call search function
                var data  = SeachInTransaction(form);
                var sheet = new List <TransactionExport>();

                foreach (var item in data)
                {
                    sheet.Add(new TransactionExport()
                    {
                        CycleName    = item.CycleName ?? string.Empty,
                        FromUserName = item.FromUserName ?? string.Empty,
                        ToUser       = item.ToUserName ?? string.Empty,
                        Date         = item.Date,
                        Status       = Enum.GetName(typeof(POPEnums.TransactionStatus), item.Status).ToString().Replace("_", " "),
                        Type         = Enum.GetName(typeof(POPEnums.TransactionTypes), item.Type),
                        TotalItem    = item.TotalItem.Count()
                    });
                }
                var ProdDT = Helper.GenerateDataTable(sheet.ToArray());

                using (var wb = new XLWorkbook())
                {
                    wb.Worksheets.Add(ProdDT, "Transaction");

                    wb.SaveAs(stream);
                    return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Transaction.xlsx"));
                }
            }
            catch (Exception e)
            {
                return(File(stream.ToArray(), e.ToString()));
            }
        }
Exemplo n.º 4
0
        public List <TransactionCycle> SeachInTransaction(TransactionCycle form)
        {
            List <Transaction> data = null;

            if (LoggedIsSystemAdmin)
            {
                data = UnitOfWork.TransactionBL.GetTransactionCycleDetails(form).ToList();
            }
            else // normal user
            {
                data = UnitOfWork.TransactionBL.GetTransactionCycleDetails(form).
                       Where(d => d.Cycle.DepartmentId == LoggedUserDepartmentId)
                       .ToList();
            }
            var UserIds = data?.Select(t => t.CreatedById).ToList();

            var AllUsers     = UnitOfWork.AppUserBL.GetAllWithSystemAdmin(u => UserIds.Contains(u.Id)).ToList();
            var SelectedData = data?
                               .Select(c => new TransactionCycle
            {
                CycleName    = c.Cycle?.Name,
                FromUserName = c.FromUser?.FullName,
                Date         = c.CreateDate?.ToString(),
                Status       = c.Status.GetValueOrDefault(),
                Type         = c.TransType.GetValueOrDefault(),
                ToUserName   = c.ToUser?.FullName,
                TotalItem    = c.TransactionDetail?.ToList(),
                TransId      = c.TransactionId,
                //  CreatedBy = c.CreatedById.ToString()
                CreatedBy = AllUsers
                            .Where(u => u.Id == c.CreatedById)
                            .Select(u => u.FullName)
                            .FirstOrDefault()
            }).OrderByDescending(t => t.Date).ToList();

            return(SelectedData);
        }