Пример #1
0
        public IActionResult Index()
        {
            var orgId = getOrg();

            ProfitLossViewModel plVM = new ProfitLossViewModel();

            plVM.TotalIncome = _context.Transactions
                               .Where(x => x.OrganisationId == orgId)
                               .Where(x => x.DateCreated.Month == DateTime.Now.Month && x.DateCreated.Year == DateTime.Now.Year)
                               .Where(x => x.TransactionType == "IN")
                               .Sum(x => x.Amount) * 100 / 105;

            plVM.CostOfGoods = _context.CostOfGoods
                               .Where(x => x.OrganisationId == orgId)
                               .Where(x => x.DateCreated.Month == DateTime.Now.Month && x.DateCreated.Year == DateTime.Now.Year)
                               .Sum(x => x.TotalCost);

            plVM.OperatingExpenses = _context.Transactions
                                     .Where(x => x.OrganisationId == orgId)
                                     .Where(x => x.DateCreated.Month == DateTime.Now.Month && x.DateCreated.Year == DateTime.Now.Year)
                                     .Where(x => x.TransactionType == "OE")
                                     .Sum(x => x.Amount);

            plVM.NetProfit   = plVM.TotalIncome - plVM.CostOfGoods - plVM.OperatingExpenses;
            plVM.GrossProfit = plVM.TotalIncome - plVM.CostOfGoods;

            return(View(plVM));
        }
        public ActionResult BaiKhata(FormCollection form)
        {
            string                     start      = Request.Form["StartDate"];
            string                     end        = Request.Form["EndDate"];
            DateTime                   sd         = DateTime.ParseExact(start, "dd/MM/yyyy", null);
            DateTime                   ed         = DateTime.ParseExact(end, "dd/MM/yyyy", null);
            ProfitLossViewModel        profitLoss = new ProfitLossViewModel();
            List <ProfitLossViewModel> viewModels = new List <ProfitLossViewModel>();
            int pl           = 0;
            int tpl          = 0;
            int total        = 0;
            int expense      = 0;
            int totalexpense = 0;

            for (DateTime dateA = sd; dateA <= ed; dateA = dateA.AddDays(1))
            {
                foreach (var item in db.SellingHistories.ToList())
                {
                    foreach (var item3 in db.Billings.ToList())
                    {
                        if (item.BillingId == item3.Id)
                        {
                            if (dateA == item3.Date)
                            {
                                foreach (var item1 in db.Products.ToList())
                                {
                                    if (item1.Id == item.ProductId)
                                    {
                                        pl  = item.Quantity * (item1.Price - item1.CostPrice);
                                        tpl = tpl + pl;
                                    }
                                }
                            }
                        }
                    }
                }
                foreach (var item in db.TodayExpenses.ToList())
                {
                    if (item.Date == dateA)
                    {
                        expense = item.TodayExpence;
                    }
                }
                profitLoss             = new ProfitLossViewModel();
                profitLoss.BillDate    = dateA;
                profitLoss.TotalProfit = tpl - expense;
                totalexpense           = totalexpense + expense;
                viewModels.Add(profitLoss);
                total   = total + tpl;
                tpl     = 0;
                pl      = 0;
                expense = 0;
            }
            ViewBag.total = total - totalexpense;
            return(View(viewModels.ToList()));
        }
Пример #3
0
        public IActionResult ProfitandLoss(int year, int quater, int month, DateTime startdate, DateTime enddate)
        {
            var          userId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            Organisation org;
            var          otheruser = _context.OtherUsers.Where(x => x.UserId == userId).FirstOrDefault();

            if (otheruser == null)
            {
                org = _context.Organisation.Where(m => m.ApplicationUserId == userId).FirstOrDefault();
            }
            else
            {
                org = _context.Organisation.Where(m => m.ApplicationUserId == otheruser.HostId).FirstOrDefault();
            }

            ProfitLossViewModel plVM = new ProfitLossViewModel();

            if (year == 0)
            {
                var income      = _context.Estimates.Where(x => x.OrganisationId == org.Id).Where(x => x.DateCreated.Year == DateTime.Now.Year).Where(x => x.PaymentStatus == "PAID").Select(x => x.GrandTotal).Sum();
                var totalIncome = _context.Transactions.Where(x => x.OrganisationId == org.Id).Where(x => x.DateCreated.Year == DateTime.Now.Year).Where(x => x.TransactionType == "Income").Select(x => x.Amount).Sum();
                plVM.Income = totalIncome;

                var totalExpenses = _context.Transactions.Where(x => x.OrganisationId == org.Id).Where(x => x.DateCreated.Year == DateTime.Now.Year).Where(x => x.TransactionType == "Expenses").Select(x => x.Amount).Sum();
                plVM.OperationExpenses = totalExpenses;

                plVM.StartDate = DateTime.Parse("01/01/" + DateTime.Now.Year.ToString());
                plVM.EndDate   = DateTime.Today;


                plVM.NetProfit = totalIncome - totalExpenses;

                plVM.NetIncomePercentage = (totalIncome - totalExpenses) * 100 / totalIncome;

                return(View(plVM));
            }
            else
            {
            }


            return(View());
        }