public ActionResult CreateOrEditPoliScheduleMaster(PoliScheduleMasterModel _model) { if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } // convert the time DateTime startDate = DateTime.ParseExact(_model.StartTimeStr, "HH:mm", CultureInfo.InvariantCulture); _model.StartTime = startDate.TimeOfDay; DateTime endDate = DateTime.ParseExact(_model.EndTimeStr, "HH:mm", CultureInfo.InvariantCulture); _model.EndTime = endDate.TimeOfDay; var request = new PoliScheduleMasterRequest { Data = _model, }; PoliScheduleMasterResponse _response = new PoliScheduleMasterValidator(_unitOfWork).Validate(request); ViewBag.Response = $"{_response.Status};{_response.Message}"; ViewBag.Clinics = BindDropDownClinic(); ViewBag.Doctors = BindDropDownDoctor(); ViewBag.Polis = BindDropDownPoli(); ViewBag.Days = BindDropDownDay(); ViewBag.ActionType = _model.Id > 0 ? ClinicEnums.Action.Edit : ClinicEnums.Action.Add; return(View()); }
public ActionResult CreateOrEditPoliScheduleMaster() { PoliScheduleMasterResponse _response = new PoliScheduleMasterResponse(); if (Request.QueryString["id"] != null) { var request = new PoliScheduleMasterRequest { Data = new PoliScheduleMasterModel { Id = long.Parse(Request.QueryString["id"].ToString()) } }; PoliScheduleMasterResponse resp = new PoliScheduleMasterHandler(_unitOfWork).GetDetail(request); PoliScheduleMasterModel _model = resp.Entity; ViewBag.Response = _response; ViewBag.Clinics = BindDropDownClinic(); ViewBag.Doctors = BindDropDownDoctor(); ViewBag.Polis = BindDropDownPoli(); ViewBag.Days = BindDropDownDay(); ViewBag.ActionType = ClinicEnums.Action.Edit; return(View(_model)); } else { ViewBag.ActionType = ClinicEnums.Action.Add; ViewBag.Response = _response; ViewBag.Clinics = BindDropDownClinic(); ViewBag.Doctors = BindDropDownDoctor(); ViewBag.Polis = BindDropDownPoli(); ViewBag.Days = BindDropDownDay(); return(View()); } }
/// <summary> /// Get PoliSchedule list /// </summary> /// <param name="request"></param> /// <returns></returns> public PoliScheduleMasterResponse GetListData(PoliScheduleMasterRequest request) { List <PoliScheduleMasterModel> lists = new List <PoliScheduleMasterModel>(); dynamic qry = null; var searchPredicate = PredicateBuilder.New <PoliScheduleMaster>(true); if (!String.IsNullOrEmpty(request.SearchValue) && !String.IsNullOrWhiteSpace(request.SearchValue)) { searchPredicate = searchPredicate.And(p => p.Doctor.Name.Contains(request.SearchValue)); } if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir))) { if (request.SortColumnDir == "asc") { switch (request.SortColumn.ToLower()) { case "doctorname": qry = _unitOfWork.PoliScheduleMasterRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.Doctor.Name)); break; default: qry = _unitOfWork.PoliScheduleMasterRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.ID)); break; } } else { switch (request.SortColumn.ToLower()) { case "doctorname": qry = _unitOfWork.PoliScheduleMasterRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.Doctor.Name)); break; default: qry = _unitOfWork.PoliScheduleMasterRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.ID)); break; } } } else { qry = _unitOfWork.PoliScheduleMasterRepository.Get(searchPredicate, null); } // get day master var dayList = new MasterHandler(_unitOfWork).GetMasterDataByType(ClinicEnums.MasterTypes.Day.ToString()).ToList(); foreach (var item in qry) { PoliScheduleMasterModel prData = Mapper.Map <PoliScheduleMaster, PoliScheduleMasterModel>(item); var day = dayList.FirstOrDefault(x => x.Value == prData.Day.ToString()); prData.DayName = day == null?prData.Day.ToString() : day.Name; lists.Add(prData); } int totalRequest = lists.Count(); var data = lists.Skip(request.Skip).Take(request.PageSize).ToList(); var response = new PoliScheduleMasterResponse { Draw = request.Draw, RecordsFiltered = totalRequest, RecordsTotal = totalRequest, Data = data }; return(response); }