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())); }
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()); }