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