public ActionResult Add(PassengerNumberViewModel model)
        {
            try
            {
                if (model.Value == 0)
                {
                    ModelState.AddModelError("Price", "القيمة يجب ان تكون اكبر من 0");
                }

                if (!ModelState.IsValid)
                {
                    return(View("Add", model));
                }

                var passengerNumber = new PassengerNumber()
                {
                    Name  = model.Name,
                    Value = model.Value
                };

                _UnitOfWork.PassengerNumberRepository.Create(passengerNumber);
                _UnitOfWork.Commit();
                var message = string.Format("تم الاضافة  بنجاح .");
                return(RedirectToAction("Index", "PassengerNumbers").Success(message));
            }
            catch (Exception e)
            {
                var message = string.Format("حدث خطأ أثناء الحفظ");
                return(RedirectToAction("Add", "PassengerNumbers").Error(message));
            }
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> AgentDetails(string id)
        {
            try
            {
                PassengerNumber passengerNumber = new PassengerNumber();
                var             model           = await _repo.FindUserById(id);

                if (model.Car != null)
                {
                    passengerNumber =
                        _UnitOfWork.PassengerNumberRepository.Filter(x => x.Id == model.Car.PassengerNumberId)
                        .FirstOrDefault();
                }

                var userRate = _UnitOfWork.RatingRepository.Filter(x => x.AgentId == model.Id).ToList();


                var requests   = _UnitOfWork.RequestRepository.All().Where(u => u.AgentId == model.Id && u.Status == RequestStatusEnum.Delivered && !u.IsHidden);
                var requestSum = requests.Any() ? requests.Sum(u => u.Price) : 0;

                var setting       = _UnitOfWork.SettingRepository.GetSetting();
                var appPercentage = Math.Round((requestSum * (setting.ManagementPercentage / 100)), 2);
                var totalAfterApp = Math.Round((requestSum - appPercentage), 2);
                //

                var agentViewModel = new AgentViewModel()
                {
                    Id                = model.Id,
                    UserName          = model.UserName,
                    Email             = model.Email,
                    PhoneNumber       = model.PhoneNumber,
                    FullName          = model.FullName,
                    RequestType       = model.Type.GetHashCode(),
                    TypeRequest       = model.Type.GetStringValue(),
                    CompanyName       = model.Car?.CompanyName,
                    Type              = model.Car?.Type,
                    Model             = model.Car?.Model,
                    Color             = model.Car?.Color,
                    CityId            = model.CityId ?? model.CityId.Value,
                    Cityname          = _UnitOfWork.CityRepository.Filter(x => x.Id == model.CityId).FirstOrDefault()?.Name,
                    PassengerNumber   = passengerNumber?.Name + passengerNumber?.Value,
                    PlateNumber       = model.Car?.PlateNumber,
                    PassengerNumberId = model.Car?.PassengerNumberId,
                    Rate              = (userRate.Count > 0 ? userRate.Average(x => x.Degree).ToString() : "لا يوجد تقيمات بعد"),
                    ExecutedRequests  = (requests.Any() ? requests.Count().ToString() : "لا يوجد طلبات منفذة"),
                    Total             = requestSum.ToString(),
                    AppPercentage     = appPercentage.ToString(CultureInfo.InvariantCulture),
                    TotalAfterApp     = totalAfterApp.ToString(),
                };
                return(View(agentViewModel));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
Ejemplo n.º 3
0
        public ActionResult _AgentDetails(string id)
        {
            try
            {
                PassengerNumber passengerNumber = new PassengerNumber();

                var model = Task.Run(() => _repo.FindUserById(id)).Result;

                if (model.Car != null)
                {
                    passengerNumber =
                        _UnitOfWork.PassengerNumberRepository.Filter(x => x.Id == model.Car.PassengerNumberId)
                        .FirstOrDefault();
                }

                var userRate       = _UnitOfWork.RatingRepository.Filter(x => x.AgentId == model.Id).ToList();
                var agentViewModel = new AgentViewModel()
                {
                    Id                = model.Id,
                    UserName          = model.UserName,
                    Email             = model.Email,
                    PhoneNumber       = model.PhoneNumber,
                    FullName          = model.FullName,
                    RequestType       = model.Type.GetHashCode(),
                    TypeRequest       = model.Type.GetStringValue(),
                    CompanyName       = model.Car?.CompanyName,
                    Type              = model.Car?.Type,
                    Model             = model.Car?.Model,
                    Color             = model.Car?.Color,
                    CityId            = model.CityId ?? model.CityId.Value,
                    Cityname          = _UnitOfWork.CityRepository.Filter(x => x.Id == model.CityId).FirstOrDefault()?.Name,
                    PassengerNumber   = passengerNumber?.Name + passengerNumber?.Value,
                    PlateNumber       = model.Car?.PlateNumber,
                    PassengerNumberId = model.Car?.PassengerNumberId,
                    Rate              = (userRate.Count > 0 ? userRate.Average(x => x.Degree).ToString() : "لا يوجد تقيمات بعد")
                };
                return(PartialView(agentViewModel));
            }
            catch (Exception ex)
            {
                return(PartialView());
            }
        }