public ActionResult CreateOrEditPoliSchedule(PoliScheduleModel _model) { if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } var request = new PoliScheduleRequest { Data = _model, }; if (_model.ReffID != 0) { request.Action = ClinicEnums.Action.Reschedule.ToString(); } PoliScheduleResponse _response = new PoliScheduleValidator(_unitOfWork).Validate(request); ViewBag.Response = $"{_response.Status};{_response.Message}"; ViewBag.Clinics = BindDropDownClinic(); ViewBag.Doctors = BindDropDownDoctor(); ViewBag.Polis = BindDropDownPoli(); ViewBag.ActionType = request.Data.Id > 0 ? ClinicEnums.Action.Edit : ClinicEnums.Action.Add; if (_model.ReffID != 0) { return(View("Index")); } else { return(View()); } }
public ActionResult Reschedule() { PoliScheduleResponse _response = new PoliScheduleResponse(); if (Request.QueryString["id"] != null) { var request = new PoliScheduleRequest { Data = new PoliScheduleModel { Id = long.Parse(Request.QueryString["id"].ToString()) } }; PoliScheduleResponse resp = new PoliScheduleHandler(_unitOfWork).GetDetail(request); PoliScheduleModel _model = resp.Entity; _model.ReffID = _model.Id; ViewBag.Response = _response; ViewBag.Clinics = BindDropDownClinic(); ViewBag.Doctors = BindDropDownDoctor(); ViewBag.Polis = BindDropDownPoli(); ViewBag.ActionType = ClinicEnums.Action.Reschedule; return(View("CreateOrEditPoliSchedule", _model)); } else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } }
public JsonResult GetPoliScheduleInfo(string poliScheduleID, string poliID, string tanggal) { var response = new PoliScheduleResponse(); long _idPoliSchedule = 0; if (poliScheduleID != null) { _idPoliSchedule = Convert.ToInt64(poliScheduleID); } var _poliScheduleModel = new PoliScheduleModel { Id = _idPoliSchedule }; var request = new PoliScheduleRequest { Data = _poliScheduleModel }; response = new PoliScheduleHandler(_unitOfWork).GetDetail(request); return(Json(new { Status = response.Status, Message = response.Message, ClinicName = response.Entity.ClinicName, PoliName = response.Entity.PoliName, DoctorName = response.Entity.DoctorName, ClinicId = response.Entity.ClinicID, DoctorId = response.Entity.DoctorID, PoliID = poliID }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Get PoliSchedule list /// </summary> /// <param name="request"></param> /// <returns></returns> public PoliScheduleResponse GetListData(PoliScheduleRequest request) { List <PoliScheduleModel> lists = new List <PoliScheduleModel>(); dynamic qry = null; var searchPredicate = PredicateBuilder.New <PoliSchedule>(true); if (!String.IsNullOrEmpty(request.SearchValue) && !String.IsNullOrWhiteSpace(request.SearchValue)) { searchPredicate = searchPredicate.And(p => p.Doctor.Name.Contains(request.SearchValue) || p.Clinic.Name.Contains(request.SearchValue) || p.Poli.Name.Contains(request.SearchValue)); } if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir))) { if (request.SortColumnDir == "asc") { switch (request.SortColumn.ToLower()) { case "id": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.ID)); break; case "clinicname": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.Clinic.Name)); break; case "poliname": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.Poli.Name)); break; case "doctorname": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.Doctor.Name)); break; case "statusstr": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.Status)); break; default: qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.ID)); break; } } else { switch (request.SortColumn.ToLower()) { case "id": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.ID)); break; case "clinicname": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.Clinic.Name)); break; case "poliname": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.Poli.Name)); break; case "doctorname": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.Doctor.Name)); break; case "statusstr": qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.Status)); break; default: qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.ID)); break; } } } else { qry = _unitOfWork.PoliScheduleRepository.Get(searchPredicate, null); } // get status master var statusList = new MasterHandler(_unitOfWork).GetMasterDataByType(ClinicEnums.MasterTypes.PoliScheduleStatus.ToString()).ToList(); foreach (var item in qry) { PoliScheduleModel prData = Mapper.Map <PoliSchedule, PoliScheduleModel>(item); var status = statusList.FirstOrDefault(x => x.Value == prData.Status.ToString()); prData.StatusStr = status == null?prData.Status.ToString() : status.Name; lists.Add(prData); } int totalRequest = lists.Count(); var data = lists.Skip(request.Skip).Take(request.PageSize).ToList(); var response = new PoliScheduleResponse { Draw = request.Draw, RecordsFiltered = totalRequest, RecordsTotal = totalRequest, Data = data }; return(response); }