コード例 #1
0
        public async Task <ActionResult> OrderPreview(List <double> carBody, List <int> id, List <int> sum, List <string> idBrigade, double total, int?idOrder = null)
        {
            if (idOrder == null)
            {
                int service = 0;

                if (TempData.ContainsKey("typeServices"))
                {
                    service = Convert.ToInt32(TempData["typeServices"]);
                }

                await _orderServicesInsert.InsertOrders(service, carBody, id, sum, total);
            }
            else
            {
                await _orderServicesInsert.InsertOrders(carBody, id, sum, total, idOrder);

                var order = await _orderServicesInsert.GetId(idOrder);

                if (await _wageModules.SalaryForTheCurrentOrder(order.Id))
                {
                    // Начисление заработной платы сотрудникам
                    var selectEmployees = _wageModules.GetCurrentEmployees(order);
                    await _wageModules.Payroll(order, selectEmployees, order.typeOfOrder.Value);

                    // Начисление заработной платы Администраору
                    var selectAdmin = _wageModules.GetCurrentAdministrator((int)TypeService.Sales, order);
                    await _wageModules.AdminWage(order, (int)TypeService.Sales, selectAdmin, true);

                    // Наичление заработной платы Тим лидеру
                    var selectTeamLead = _wageModules.GetCurrentAdministrator(order.typeOfOrder.Value, order);
                    await _wageModules.AdminWage(order, order.typeOfOrder.Value, selectTeamLead, true);
                }
            }

            return(RedirectToAction("Index", "Order"));
        }