Ejemplo n.º 1
0
        // [ValidateAntiForgeryToken]
        public IActionResult Create([FromBody()] SarhaVM sVM)
        {
            if (ModelState.IsValid)
            {
                Sarha s = new Sarha()
                {
                    BoatID            = sVM.BoatID,
                    NumberOfFishermen = sVM.NoFisherMen,
                    NumberOfBoxes     = sVM.NoBoxes,

                    DateOfSarha = TimeNow()
                };
                _context.Sarhas.Add(s);
                _context.SaveChanges();
                var latestSarha  = _context.Sarhas.Max(x => x.SarhaID);
                var pricesCookie = Request.Cookies["MyItems"];
                if (pricesCookie != null)
                {
                    decimal[] result = pricesCookie.Split(",".ToCharArray()).Select(c => Convert.ToDecimal(c)).ToArray();
                    for (int i = 0; i < _context.Debts.ToList().Count(); i++)
                    {
                        if (result[i] != 0)
                        {
                            Debts_Sarha d_s = new Debts_Sarha()
                            {
                                SarhaID  = s.SarhaID,
                                DebtID   = _context.Debts.ToList().ElementAt(i).DebtID,
                                Price    = result[i],
                                PersonID = 1,
                                Date     = TimeNow()
                            };



                            _context.Debts_Sarhas.Add(d_s);
                            Person pp = _context.People.Find(1);
                            pp.credit -= result[i];
                            _context.SaveChanges();
                        }
                    }
                    var boat = _context.Boats.Find(sVM.BoatID);
                    boat.DebtsOfHalek += result.Sum();
                    _context.SaveChanges();
                    Response.Cookies.Delete("MyItems");
                }
                return(Json(new { message = "success", id = sVM.BoatID }));
            }
            ViewBag.Boats = new SelectList(_context.Boats, "BoatID", "BoatName", sVM.BoatID);
            SarhaViewModel sarhaViewModel = new SarhaViewModel();

            sarhaViewModel.Sarha = new Sarha()
            {
                BoatID            = sVM.BoatID,
                NumberOfFishermen = sVM.NoFisherMen,
                NumberOfBoxes     = sVM.NoBoxes,
                DateOfSarha       = sVM.DateOfSarha
            };
            return(View(sarhaViewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> FinalCalc(decimal fathallah, decimal Cash, string MerchantName, string Price, string ToMerchantName, string ToPrice, string BoatName, string HalekPrice,
                                                    string HalekName, string Adding, string AddingPrice, string BoatNameExpenses, string ExpensePricee, string Cause)
        {
            Collecting c = new Collecting()
            {
                Date             = TimeNow(),
                TotalForFahAllah = fathallah,
                TotalOfCashes    = Cash
            };



            if (MerchantName != null && Price != null)
            {
                var       MerchantNameCookie = MerchantName.TrimEnd(MerchantName[MerchantName.Length - 1]);
                var       PriceCookie        = Price.TrimEnd(Price[Price.Length - 1]);
                string[]  MerchantNames      = MerchantNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] prices             = PriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();

                for (int i = 0; i < MerchantNames.Length; i++)
                {
                    var             merchant = _context.Merchants.FirstOrDefault(c => c.MerchantName == MerchantNames[i]);
                    PaidForMerchant m;
                    if (merchant.IsOwner == true)
                    {
                        m = new PaidForMerchant()
                        {
                            IsPaidForUs = true,
                            MerchantID  = merchant.MerchantID,
                            Payment     = prices[i],
                            PreviousDebtsForMerchant = merchant.PreviousDebts - prices[i],
                            Date     = TimeNow(),
                            IsCash   = true,
                            PersonID = 3
                        };
                    }
                    else
                    {
                        m = new PaidForMerchant()
                        {
                            IsPaidForUs = true,
                            MerchantID  = merchant.MerchantID,
                            Payment     = prices[i],
                            PreviousDebtsForMerchant = merchant.PreviousDebts - prices[i],
                            Date     = TimeNow(),
                            IsCash   = true,
                            PersonID = 3
                        };
                    }
                    Person pppp = _context.People.Find(3);
                    pppp.credit           += prices[i];
                    merchant.PreviousDebts = merchant.PreviousDebts - prices[i];
                    _context.PaidForMerchant.Add(m);
                    _context.SaveChanges();
                    c.TotalPaidFromMerchants = prices.Sum();
                }
            }

            if (ToMerchantName != null && ToPrice != null)
            {
                var       ToMerchantNameCookie = ToMerchantName.TrimEnd(ToMerchantName[ToMerchantName.Length - 1]);
                var       ToPriceCookie        = ToPrice.TrimEnd(ToPrice[ToPrice.Length - 1]);
                string[]  ToMerchantNames      = ToMerchantNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] Toprices             = ToPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();


                for (int i = 0; i < ToMerchantNames.Length; i++)
                {
                    var merchant = _context.Merchants.FirstOrDefault(c => c.MerchantName == ToMerchantNames[i]);

                    PaidForMerchant m = new PaidForMerchant()
                    {
                        IsPaidForUs = false,
                        MerchantID  = merchant.MerchantID,
                        Payment     = Toprices[i],
                        PreviousDebtsForMerchant = merchant.PreviousDebtsForMerchant - Toprices[i],
                        Date     = TimeNow(),
                        IsCash   = true,
                        PersonID = 3
                    };
                    Person person = _context.People.Find(3);
                    person.credit -= Toprices[i];
                    merchant.PreviousDebtsForMerchant = merchant.PreviousDebtsForMerchant - Toprices[i];
                    _context.PaidForMerchant.Add(m);
                    _context.SaveChanges();
                }
                c.TotalPaidForMerchants = Toprices.Sum();
            }

            if (HalekName != null)
            {
                var       BoatNameCookie   = BoatName.TrimEnd(BoatName[BoatName.Length - 1]);
                var       HalekPriceCookie = HalekPrice.TrimEnd(HalekPrice[HalekPrice.Length - 1]);
                var       HalekNameCookie  = HalekName.TrimEnd(HalekName[HalekName.Length - 1]);
                string[]  BoatNames        = BoatNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] HalekPrices      = HalekPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                string[]  HalekNames       = HalekNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();

                for (int i = 0; i < HalekNames.Length; i++)
                {
                    var boat        = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNames[i]);
                    var lastSarhaID = _context.Sarhas.Where(c => c.BoatID == boat.BoatID && c.IsFinished == false).FirstOrDefault().SarhaID;
                    var lastSarha   = _context.Sarhas.Find(lastSarhaID);

                    var debt_sarha = _context.Debts_Sarhas.Include(c => c.Debt).ToList().
                                     Where(c => c.SarhaID == lastSarhaID && c.Debt.DebtName == HalekNames[i] && c.PersonID == 3 && c.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
                    boat.DebtsOfHalek += HalekPrices[i];
                    if (debt_sarha != null)
                    {
                        debt_sarha.Price += HalekPrices[i];
                    }
                    else
                    {
                        var         debt = _context.Debts.Where(c => c.DebtName == HalekNames[i]).FirstOrDefault();
                        Debts_Sarha ds   = new Debts_Sarha()
                        {
                            Price = HalekPrices[i], DebtID = debt.DebtID, SarhaID = lastSarhaID, PersonID = 3, Date = TimeNow()
                        };
                        _context.Debts_Sarhas.Add(ds);
                        _context.SaveChanges();
                    }
                    Person person1 = _context.People.Find(3);
                    person1.credit -= HalekPrices[i];

                    _context.SaveChanges();
                }
                c.TotalHalek = HalekPrices.Sum();
            }

            if (BoatNameExpenses != null)
            {
                var       BoatNameExpensesCookie = BoatNameExpenses.TrimEnd(BoatNameExpenses[BoatNameExpenses.Length - 1]);
                var       ExpensePriceCookie     = ExpensePricee.TrimEnd(ExpensePricee[ExpensePricee.Length - 1]);
                var       CauseCookie            = Cause.TrimEnd(Cause[Cause.Length - 1]);
                string[]  BoatNamesExpenses      = BoatNameExpensesCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] ExpensePrice           = ExpensePriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                string[]  Causes = CauseCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                for (int i = 0; i < BoatNamesExpenses.Length; i++)
                {
                    var     boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNamesExpenses[i]);
                    Expense ex   = new Expense()
                    {
                        BoatID   = boat.BoatID,
                        Cause    = Causes[i],
                        Date     = TimeNow(),
                        PersonID = 3,
                        Price    = ExpensePrice[i]
                    };
                    _context.Expenses.Add(ex);
                    await _context.SaveChangesAsync();

                    Person person1 = _context.People.Find(3);
                    person1.credit -= ExpensePrice[i];

                    await _context.SaveChangesAsync();
                }
                c.TotalOfExpenses = ExpensePrice.Sum();
            }

            var           p = _context.People.Find(4);
            FathAllahGift g = new FathAllahGift()
            {
                charge = fathallah, CreditBefore = p.credit, CreditAfter = fathallah + p.credit, Date = TimeNow(), PersonID = 3
            };

            p.credit += fathallah;
            Person pp = _context.People.Find(3);

            pp.credit -= fathallah;
            _context.FathAllahGifts.Add(g);
            _context.Collectings.Add(c);
            await _context.SaveChangesAsync();

            if (Adding != null)
            {
                var       AddingCookie      = Adding.TrimEnd(Adding[Adding.Length - 1]);
                var       AddingPriceCookie = AddingPrice.TrimEnd(AddingPrice[AddingPrice.Length - 1]);
                string[]  AddingNames       = AddingCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] AddingPrices      = AddingPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                var       collecting        = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
                collecting.TotalOfAdditionalPayment = AddingPrices.Sum();

                for (int i = 0; i < AddingNames.Length; i++)
                {
                    AdditionalPayment ad = new AdditionalPayment()
                    {
                        Name  = AddingNames[i],
                        Value = AddingPrices[i],
                        ID    = collecting.ID,
                        Date  = TimeNow()
                    };

                    _context.AdditionalPayments.Add(ad);
                    Person ppp = _context.People.Find(3);
                    ppp.credit -= AddingPrices[i];
                    _context.SaveChanges();
                }
            }

            var FinalCredit = c.TotalPaidFromMerchants - (c.TotalPaidForMerchants + c.TotalHalek + c.TotalOfAdditionalPayment + fathallah + c.TotalOfExpenses);

            //Person halaka = _context.People.Find(1);
            //halaka.credit += FinalCredit;
            pp.credit = 0.0m;
            await _context.SaveChangesAsync();

            return(Json(new { message = "success" }));
        }
Ejemplo n.º 3
0
        public IActionResult FathAllahCalc(decimal fathallahFinalCredit, string Place, string Price, string ToLeader, string ToPrice, string BoatName, string HalekPrice,
                                           string HalekName, string BoatNameExpenses, string ExpensePricee, string Cause)
        {
            //-----------------------------------------------------------------------------------------
            var pp = _context.People.Find(4);

            //pp.credit = fathallahFinalCredit;

            if (Place != null && Price != null)
            {
                var PlaceCookie = Place.TrimEnd(Place[Place.Length - 1]);
                var PriceCookie = Price.TrimEnd(Price[Price.Length - 1]);

                string[]  PlaceHalekNames = PlaceCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] prices          = PriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();

                for (int i = 0; i < PlaceHalekNames.Length; i++)
                {
                    int DebtID = _context.Debts.Where(c => c.DebtName == PlaceHalekNames[i]).FirstOrDefault().DebtID;
                    _context.HalakaHaleks.Add(new HalakaHalek {
                        Price = prices[i], DebtID = DebtID, Date = TimeNow()
                    });
                    pp.credit -= prices[i];
                }
                _context.SaveChanges();
            }

            if (ToLeader != null && ToPrice != null)
            {
                var ToLeaderCookie = ToLeader.TrimEnd(ToLeader[ToLeader.Length - 1]);
                var ToPriceCookie  = ToPrice.TrimEnd(ToPrice[ToPrice.Length - 1]);

                string[]  ToLeaderNames = ToLeaderCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] Toprices      = ToPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();

                for (int i = 0; i < ToLeaderNames.Length; i++)
                {
                    var Boat = _context.Boats.Where(c => c.BoatLeader == ToLeaderNames[i]).FirstOrDefault();
                    _context.LeaderLoans.Add(new LeaderLoan {
                        Price = Toprices[i], BoatID = Boat.BoatID, Date = TimeNow(), PersonID = 4
                    });
                    Boat.DebtsOfLeader += Toprices[i];
                    pp.credit          -= Toprices[i];
                    _context.SaveChanges();
                }
            }


            if (BoatName != null && HalekPrice != null && HalekName != null)
            {
                var       BoatNameCookie   = BoatName.TrimEnd(BoatName[BoatName.Length - 1]);
                var       HalekPriceCookie = HalekPrice.TrimEnd(HalekPrice[HalekPrice.Length - 1]);
                var       HalekNameCookie  = HalekName.TrimEnd(HalekName[HalekName.Length - 1]);
                string[]  BoatNames        = BoatNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] HalekPrices      = HalekPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                string[]  HalekNames       = HalekNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();

                for (int i = 0; i < HalekNames.Length; i++)
                {
                    var boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNames[i]);

                    var lastSarhaID = _context.Sarhas.ToList().Where(c => c.BoatID == boat.BoatID && c.IsFinished == false).ToList();
                    if (lastSarhaID != null)
                    {
                        int maxSarahaID = lastSarhaID.FirstOrDefault().SarhaID;
                        var lastSarha   = _context.Sarhas.Find(maxSarahaID);

                        var debt_sarha = _context.Debts_Sarhas.Include(c => c.Debt).ToList()
                                         .Where(c => c.SarhaID == maxSarahaID && c.Debt.DebtName == HalekNames[i] && c.PersonID == 4 && c.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
                        boat.DebtsOfHalek += HalekPrices[i];
                        if (debt_sarha != null)
                        {
                            debt_sarha.Price += HalekPrices[i];
                        }
                        else
                        {
                            var         debt = _context.Debts.Where(c => c.DebtName == HalekNames[i]).FirstOrDefault();
                            Debts_Sarha ds   = new Debts_Sarha()
                            {
                                Price = HalekPrices[i], DebtID = debt.DebtID, SarhaID = maxSarahaID, PersonID = 4, Date = TimeNow()
                            };
                            _context.Debts_Sarhas.Add(ds);
                            _context.SaveChanges();
                        }
                        pp.credit -= HalekPrices[i];
                        _context.SaveChanges();
                    }
                }
            }

            if (BoatNameExpenses != null)
            {
                var BoatNameExpensesCookie = BoatNameExpenses.TrimEnd(BoatNameExpenses[BoatNameExpenses.Length - 1]);
                var ExpensePriceCookie     = ExpensePricee.TrimEnd(ExpensePricee[ExpensePricee.Length - 1]);
                var CauseCookie            = Cause.TrimEnd(Cause[Cause.Length - 1]);

                string[]  BoatNamesExpenses = BoatNameExpensesCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] ExpensePrice      = ExpensePriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                string[]  Causes            = CauseCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                for (int i = 0; i < BoatNamesExpenses.Length; i++)
                {
                    var     boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNamesExpenses[i]);
                    Expense ex   = new Expense()
                    {
                        BoatID   = boat.BoatID,
                        Cause    = Causes[i],
                        Date     = TimeNow(),
                        PersonID = 4,
                        Price    = ExpensePrice[i]
                    };
                    _context.Expenses.Add(ex);
                    _context.SaveChanges();


                    pp.credit -= ExpensePrice[i];

                    _context.SaveChanges();
                }
            }
            _context.SaveChanges();

            return(Json(new { message = "success" }));
        }
        public async Task <IActionResult> FinalCalc(decimal PricePaidFromMagdy, decimal driversTotal, decimal PricePaidForFathallah,
                                                    decimal PaidFathallahSalary, decimal totalOfIncome, decimal totalSarhas, decimal totalOfDailyExpense, decimal FinalTotal,
                                                    string InternalMerchant, string InternalMerchantPrice, string ToLeaderBoatName, string ToLeaderPrice, string BoatNameForHalek,
                                                    string HalekPrice, string HalekName, string Adding, string AddingPrice, string BoatNameExpenses, string ExpensePricee,
                                                    string OperatorName, string OperatorPrice, string Cause)
        {
            var     c = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
            decimal collectedToday = 0.0m;

            if (c != null)
            {
                collectedToday = (c.TotalPaidFromMerchants + c.TotalOfCashes) - (c.TotalPaidForMerchants + c.TotalHalek + c.TotalOfAdditionalPayment + c.TotalForFahAllah + c.TotalOfExpenses);
            }
            BranchOffice branch = new BranchOffice()
            {
                Date            = TimeNow(),
                Collecting      = collectedToday,
                DriversSalary   = driversTotal,
                ExpensesTotal   = totalOfDailyExpense,
                FathallahSalary = PaidFathallahSalary,
                OfficeMoney     = PricePaidFromMagdy,
                SarhasTotal     = totalSarhas,
                CurrentCredit   = FinalTotal,
                IncomeTotal     = totalOfIncome
            };

            _context.BranchOffices.Add(branch);
            _context.SaveChanges();
            var user = await _userManager.GetUserAsync(User);

            var roles = await _userManager.GetRolesAsync(user);

            int PID = 1;

            if (roles.Contains("partner"))
            {
                PID = 2;
            }
            if (InternalMerchant != null && InternalMerchantPrice != null)
            {
                var       InternalMerchantCookie      = InternalMerchant.TrimEnd(InternalMerchant[InternalMerchant.Length - 1]);
                var       InternalMerchantPriceCookie = InternalMerchantPrice.TrimEnd(InternalMerchantPrice[InternalMerchantPrice.Length - 1]);
                string[]  InternalMerchantNames       = InternalMerchantCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] InternalMerchantprices      = InternalMerchantPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();

                for (int i = 0; i < InternalMerchantNames.Length; i++)
                {
                    var             merchant = _context.Merchants.FirstOrDefault(c => c.MerchantName == InternalMerchantNames[i]);
                    PaidForMerchant m;
                    m = new PaidForMerchant()
                    {
                        IsPaidForUs = true,
                        MerchantID  = merchant.MerchantID,
                        Payment     = InternalMerchantprices[i],
                        PreviousDebtsForMerchant = merchant.PreviousDebts - InternalMerchantprices[i],
                        Date     = TimeNow(),
                        IsCash   = true,
                        PersonID = PID
                    };

                    //Person pppp = _context.People.Find(PID);
                    //pppp.credit += InternalMerchantprices[i];
                    merchant.PreviousDebts = merchant.PreviousDebts - InternalMerchantprices[i];
                    _context.PaidForMerchant.Add(m);
                    _context.SaveChanges();
                }
            }

            if (ToLeaderBoatName != null && ToLeaderPrice != null)
            {
                var ToLeaderCookie = ToLeaderBoatName.TrimEnd(ToLeaderBoatName[ToLeaderBoatName.Length - 1]);
                var ToPriceCookie  = ToLeaderPrice.TrimEnd(ToLeaderPrice[ToLeaderPrice.Length - 1]);

                string[]  ToLeaderBoatNames = ToLeaderCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] Toprices          = ToPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();

                for (int i = 0; i < ToLeaderBoatNames.Length; i++)
                {
                    var Boat = _context.Boats.Where(c => c.BoatName == ToLeaderBoatNames[i]).FirstOrDefault();
                    _context.LeaderLoans.Add(new LeaderLoan {
                        Price = Toprices[i], BoatID = Boat.BoatID, Date = TimeNow(), PersonID = PID
                    });
                    Boat.DebtsOfLeader += Toprices[i];
                    //pp.credit -= Toprices[i];
                    _context.SaveChanges();
                }
            }

            if (HalekName != null)
            {
                var       BoatNameCookie   = BoatNameForHalek.TrimEnd(BoatNameForHalek[BoatNameForHalek.Length - 1]);
                var       HalekPriceCookie = HalekPrice.TrimEnd(HalekPrice[HalekPrice.Length - 1]);
                var       HalekNameCookie  = HalekName.TrimEnd(HalekName[HalekName.Length - 1]);
                string[]  BoatNames        = BoatNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] HalekPrices      = HalekPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                string[]  HalekNames       = HalekNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();

                for (int i = 0; i < HalekNames.Length; i++)
                {
                    var boat        = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNames[i]);
                    var lastSarhaID = _context.Sarhas.Where(c => c.BoatID == boat.BoatID && c.IsFinished == false).FirstOrDefault().SarhaID;
                    var lastSarha   = _context.Sarhas.Find(lastSarhaID);

                    var debt_sarha = _context.Debts_Sarhas.Include(c => c.Debt).ToList().Where(c => c.SarhaID == lastSarhaID && c.Debt.DebtName == HalekNames[i] && c.PersonID == PID && c.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
                    boat.DebtsOfHalek += HalekPrices[i];
                    if (debt_sarha != null)
                    {
                        debt_sarha.Price += HalekPrices[i];
                    }
                    else
                    {
                        var         debt = _context.Debts.Where(c => c.DebtName == HalekNames[i]).FirstOrDefault();
                        Debts_Sarha ds   = new Debts_Sarha()
                        {
                            Price = HalekPrices[i], DebtID = debt.DebtID, SarhaID = lastSarhaID, PersonID = PID, Date = TimeNow()
                        };
                        _context.Debts_Sarhas.Add(ds);
                        _context.SaveChanges();
                    }
                    //Person person1 = _context.People.Find(3);
                    //person1.credit -= HalekPrices[i];

                    _context.SaveChanges();
                }
                //c.TotalHalek = HalekPrices.Sum();
            }

            if (BoatNameExpenses != null)
            {
                var       BoatNameExpensesCookie = BoatNameExpenses.TrimEnd(BoatNameExpenses[BoatNameExpenses.Length - 1]);
                var       ExpensePriceCookie     = ExpensePricee.TrimEnd(ExpensePricee[ExpensePricee.Length - 1]);
                var       CauseCookie            = Cause.TrimEnd(Cause[Cause.Length - 1]);
                string[]  BoatNamesExpenses      = BoatNameExpensesCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] ExpensePrice           = ExpensePriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                string[]  Causes = CauseCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                for (int i = 0; i < BoatNamesExpenses.Length; i++)
                {
                    var     boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNamesExpenses[i]);
                    Expense ex   = new Expense()
                    {
                        BoatID   = boat.BoatID,
                        Cause    = Causes[i],
                        Date     = TimeNow(),
                        PersonID = PID,
                        Price    = ExpensePrice[i]
                    };

                    _context.Expenses.Add(ex);
                    boat.TotalOfExpenses += ExpensePrice[i];
                    await _context.SaveChangesAsync();

                    //Person person1 = _context.People.Find(3);
                    //person1.credit -= ExpensePrice[i];

                    await _context.SaveChangesAsync();
                }
            }

            var           p = _context.People.Find(4);
            FathAllahGift g = new FathAllahGift()
            {
                charge = PricePaidForFathallah, CreditBefore = p.credit, CreditAfter = PricePaidForFathallah + p.credit, Date = TimeNow(), PersonID = PID
            };

            p.credit += PricePaidForFathallah;
            //Person pp = _context.People.Find(3);
            //pp.credit -= fathallah;
            _context.FathAllahGifts.Add(g);
            //_context.Collectings.Add(c);
            await _context.SaveChangesAsync();

            if (Adding != null)
            {
                var       AddingCookie      = Adding.TrimEnd(Adding[Adding.Length - 1]);
                var       AddingPriceCookie = AddingPrice.TrimEnd(AddingPrice[AddingPrice.Length - 1]);
                string[]  AddingNames       = AddingCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] AddingPrices      = AddingPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                //var collecting = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
                //collecting.TotalOfAdditionalPayment = AddingPrices.Sum();

                for (int i = 0; i < AddingNames.Length; i++)
                {
                    AdditionalForOffice ad = new AdditionalForOffice()
                    {
                        Name     = AddingNames[i],
                        Value    = AddingPrices[i],
                        PersonID = PID,
                        Date     = TimeNow()
                    };

                    _context.AdditionalForOffices.Add(ad);
                    //Person ppp = _context.People.Find(3);
                    //ppp.credit -= AddingPrices[i];
                    _context.SaveChanges();
                }
            }
            if (OperatorName != null)
            {
                var       OperatorNameCookie  = OperatorName.TrimEnd(OperatorName[OperatorName.Length - 1]);
                var       OperatorPriceCookie = OperatorPrice.TrimEnd(AddingPrice[AddingPrice.Length - 1]);
                string[]  OperatorNames       = OperatorNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray();
                decimal[] OperatorPrices      = OperatorPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray();
                //var collecting = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault();
                //collecting.TotalOfAdditionalPayment = AddingPrices.Sum();

                for (int i = 0; i < OperatorNames.Length; i++)
                {
                    var             operatorr = _context.Operators.Where(x => x.OperatorName == OperatorNames[i]).FirstOrDefault();
                    PaidForOperator pp        = new PaidForOperator()
                    {
                        OperatorID        = operatorr.OperatorID,
                        Payment           = OperatorPrices[i],
                        DebtsAfterPayment = operatorr.Credit - OperatorPrices[i],
                        PersonID          = PID,
                        Date = TimeNow()
                    };

                    _context.PaidForOperators.Add(pp);
                    //Person ppp = _context.People.Find(3);
                    //ppp.credit -= AddingPrices[i];
                    _context.SaveChanges();
                }
            }

            Person pppp = _context.People.Find(PID);

            pppp.credit = FinalTotal;
            await _context.SaveChangesAsync();

            return(Json(new { message = "success" }));
        }
Ejemplo n.º 5
0
        //[ValidateAntiForgeryToken]
        //public IActionResult Editing(EditSarhaVm editSarhaVm)int id , int BoatID , int NoFisherMen , int NoBoxes ,DateTime DateOfSarha
        public async Task <IActionResult> Editing(EditSarhaVm editSarhaVm)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var user = await _userManager.GetUserAsync(User);

                    var roles = await _userManager.GetRolesAsync(user);

                    int PID = 1;
                    if (roles.Contains("partner"))
                    {
                        PID = 2;
                    }
                    var sar = _context.Sarhas.Find(editSarhaVm.id);
                    sar.BoatID = editSarhaVm.BoatID;
                    //sar.DateOfSarha = editSarhaVm.DateOfSarha;
                    sar.DateOfSarha       = sar.DateOfSarha;
                    sar.NumberOfFishermen = editSarhaVm.NoFisherMen;
                    sar.NumberOfBoxes     = editSarhaVm.NoBoxes;
                    _context.SaveChanges();
                    var boatt = _context.Boats.Find(editSarhaVm.BoatID);

                    if (editSarhaVm.OldHalekPrices != null)
                    {
                        string    ss        = editSarhaVm.OldHalekPrices.TrimEnd(editSarhaVm.OldHalekPrices[editSarhaVm.OldHalekPrices.Length - 1]);
                        decimal[] oldPrices = ss.Split(",".ToCharArray()).Select(c => Convert.ToDecimal(c.Trim())).ToArray();


                        var dept_sarha = _context.Debts_Sarhas.Where(x => x.SarhaID == editSarhaVm.id);

                        for (int i = 0; i < dept_sarha.Count(); i++)
                        {
                            var element  = dept_sarha.ToList().ElementAt(i);
                            var oldPrice = element.Price;
                            element.Date = element.Date;
                            Person p = _context.People.Find(PID);
                            element.PersonID = PID;
                            element.Price    = oldPrices[i];
                            if (oldPrice > oldPrices[i])
                            {
                                decimal diff = oldPrice - oldPrices[i];
                                //p.credit += diff;
                                HalekDifference h = new HalekDifference()
                                {
                                    BoatID        = sar.BoatID,
                                    PersonID      = PID,
                                    Date          = TimeNow(),
                                    ReturnedValue = diff
                                };
                                _context.HalekDifferences.Add(h);
                                _context.SaveChanges();
                            }
                            else
                            {
                                decimal diff = oldPrices[i] - oldPrice;
                                //p.credit -= diff ;
                            }
                        }
                        boatt.DebtsOfHalek += oldPrices.Sum();
                    }

                    if (editSarhaVm.NHalekPrices != null)
                    {
                        string    cc        = editSarhaVm.NHalekPrices.TrimEnd(editSarhaVm.NHalekPrices[editSarhaVm.NHalekPrices.Length - 1]);
                        decimal[] newPrices = cc.Split(",".ToCharArray()).Select(c => Convert.ToDecimal(c.Trim())).ToArray();

                        var dept_sarhaa = _context.Debts_Sarhas.Where(x => x.SarhaID == editSarhaVm.id).Include(x => x.Debt).Include(x => x.Person);

                        var ds  = dept_sarhaa.Select(c => c.DebtID);
                        var lst = _context.Debts.Where(d => !ds.Contains(d.DebtID)).ToList();

                        for (int i = 0; i < lst.Count(); i++)
                        {
                            if (newPrices[i] != 0)
                            {
                                Debts_Sarha d_s = new Debts_Sarha()
                                {
                                    SarhaID  = editSarhaVm.id,
                                    DebtID   = lst.ElementAt(i).DebtID,
                                    Price    = newPrices[i],
                                    PersonID = PID,
                                    Date     = TimeNow()
                                };
                                _context.Debts_Sarhas.Add(d_s);
                                //Person pp = _context.People.Find(PID);
                                //pp.credit -= newPrices[i];
                                _context.SaveChanges();
                            }
                        }

                        boatt.DebtsOfHalek += newPrices.Sum();
                        //boatt.DebtsOfHalek += oldPrices.Sum();
                        _context.SaveChanges();
                        Response.Cookies.Delete("MyItems");
                        Response.Cookies.Delete("NMyItems");
                    }

                    _context.SaveChanges();
                    return(Json(new { message = "success", id = sar.BoatID }));
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SarhaExists(editSarhaVm.id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            ViewData["BoatID"] = new SelectList(_context.Boats, "BoatID", "BoatLeader", editSarhaVm.BoatID);
            return(Json(new { message = "fail" }));
        }