예제 #1
0
        public ActionResult GetListData()
        {
            var _draw          = Request.Form.GetValues("draw").FirstOrDefault();
            var _start         = Request.Form.GetValues("start").FirstOrDefault();
            var _length        = Request.Form.GetValues("length").FirstOrDefault();
            var _sortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
            var _sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
            var _searchValue   = Request.Form.GetValues("search[value]").FirstOrDefault();

            int _pageSize = _length != null?Convert.ToInt32(_length) : 0;

            int _skip = _start != null?Convert.ToInt32(_start) : 0;

            var request = new PoliScheduleRequest
            {
                Draw          = _draw,
                SearchValue   = _searchValue,
                SortColumn    = _sortColumn,
                SortColumnDir = _sortColumnDir,
                PageSize      = _pageSize,
                Skip          = _skip
            };

            var response = new PoliScheduleHandler(_unitOfWork).GetListData(request);

            return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
        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());
            }
        }
예제 #4
0
        /// <summary>
        /// Validate request
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        public PoliScheduleResponse Validate(PoliScheduleRequest request)
        {
            var response = new PoliScheduleResponse();

            if (request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString()))
            {
                response = ValidateForDelete(request);
            }
            else
            {
                bool isHavePrivilege = true;

                if (request.Data.Id == 0)
                {
                    isHavePrivilege = IsHaveAuthorization(ADD_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs);
                }
                else
                {
                    isHavePrivilege = IsHaveAuthorization(EDIT_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs);
                }

                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }

                if (response.Status)
                {
                    response = new PoliScheduleHandler(_unitOfWork).CreateOrEdit(request);
                }
            }

            return(response);
        }
예제 #5
0
        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));
        }
예제 #6
0
        public JsonResult DeletePoliSchedule(int id)
        {
            var request = new PoliScheduleRequest
            {
                Data = new PoliScheduleModel
                {
                    Id      = id,
                    Account = Session["UserLogon"] == null ? new AccountModel() : (AccountModel)Session["UserLogon"]
                },
                Action = ClinicEnums.Action.DELETE.ToString()
            };

            PoliScheduleResponse _response = new PoliScheduleValidator(_unitOfWork).Validate(request);

            return(Json(new { Status = _response.Status, Message = _response.Message }, JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        /// <summary>
        /// Delete validation
        /// </summary>
        /// <param name="request"></param>
        private PoliScheduleResponse ValidateForDelete(PoliScheduleRequest request)
        {
            var response = new PoliScheduleResponse();

            bool isHavePrivilege = IsHaveAuthorization(DELETE_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs);

            if (!isHavePrivilege)
            {
                response.Status  = false;
                response.Message = Messages.UnauthorizedAccess;
            }

            if (response.Status)
            {
                response = new PoliScheduleHandler(_unitOfWork).RemoveData(request);
            }

            return(response);
        }