コード例 #1
0
        /// <summary>
        /// Validate request
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        public void Validate(OrganizationPrivilegeRequest request, out OrganizationPrivilegeResponse response)
        {
            response = new OrganizationPrivilegeResponse();

            if (request.Data.OrgID == 0)
            {
                errorFields.Add("Organization");
            }

            if (request.Data.PrivilegeIDs.Count == 0)
            {
                errorFields.Add("Privileges");
            }

            if (errorFields.Any())
            {
                response.Status  = false;
                response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields));
            }

            if (response.Status)
            {
                response = new OrganizationPrivilegeHandler(_unitOfWork, _context).CreateOrEdit(request);
            }
        }
コード例 #2
0
        public JsonResult CreateOrganizationPrivilege()
        {
            OrganizationPrivilegeResponse response = new OrganizationPrivilegeResponse();
            OrganizationPrivilegeModel    _model   = new OrganizationPrivilegeModel();

            if (Request.Form["OrgId"] != null)
            {
                _model.OrgID = Convert.ToInt64(Request.Form["OrgId"].ToString());
            }
            if (Request.Form["Privileges"] != null)
            {
                _model.PrivilegeIDs = JsonConvert.DeserializeObject <List <long> >(Request.Form["Privileges"]);
            }
            if (Session["UserLogon"] != null)
            {
                _model.Account = (AccountModel)Session["UserLogon"];
            }

            var request = new OrganizationPrivilegeRequest
            {
                Data = _model
            };

            new OrganizationPrivilegeValidator(_unitOfWork, _context).Validate(request, out response);
            return(Json(new { Status = response.Status, Message = response.Message }, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        /// <summary>
        /// Create or edit organization privilege
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public OrganizationPrivilegeResponse CreateOrEdit(OrganizationPrivilegeRequest request)
        {
            OrganizationPrivilegeResponse response = new OrganizationPrivilegeResponse();

            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var toberemove = _context.OrganizationPrivileges.Where(x => x.OrgID == request.Data.OrgID);
                    _context.OrganizationPrivileges.RemoveRange(toberemove);
                    _context.SaveChanges();

                    //insert new
                    foreach (long _privId in request.Data.PrivilegeIDs)
                    {
                        var orgpprivilege = new OrganizationPrivilege
                        {
                            OrgID       = request.Data.OrgID,
                            PrivilegeID = _privId,
                            CreatedBy   = request.Data.Account.UserCode,
                            CreatedDate = DateTime.Now
                        };

                        _context.OrganizationPrivileges.Add(orgpprivilege);
                    }

                    int resultAffected = _context.SaveChanges();

                    transaction.Commit();

                    response.Message = Messages.DataSaved;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();

                    response.Status  = false;
                    response.Message = Messages.GeneralError;

                    ErrorLog(ClinicEnums.Module.MASTER_ORGANIZATION_PRIVILEGE, ClinicEnums.Action.DELETE.ToString(), request.Data.Account, ex);
                }
            }

            return(response);
        }
コード例 #4
0
        /// <summary>
        /// Get list of organization privilege data
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public OrganizationPrivilegeResponse GetListData(OrganizationPrivilegeRequest request)
        {
            var qry = _unitOfWork.OrgPrivRepository.Get(x => x.OrgID == request.Data.OrgID && x.RowStatus == 0);
            OrganizationPrivilegeModel _model = new OrganizationPrivilegeModel();

            if (qry.Count > 0)
            {
                _model.OrgID = qry.FirstOrDefault().OrgID;
            }

            foreach (var item in qry)
            {
                _model.PrivilegeIDs.Add(item.PrivilegeID);
            }

            var response = new OrganizationPrivilegeResponse
            {
                Entity = _model
            };

            return(response);
        }
コード例 #5
0
        // GET: MappingMaster
        #region ::Organization Role::
        public ActionResult OrgPrivilegeList()
        {
            OrganizationPrivilegeModel opmodel = new OrganizationPrivilegeModel();

            if (Request.QueryString["orgid"] != null)
            {
                var reqOrg = new OrganizationRequest
                {
                    Data = new OrganizationModel
                    {
                        Id = Convert.ToInt64(Request.QueryString["orgid"].ToString())
                    }
                };

                var respOrg = new OrganizationResponse();
                respOrg = new OrganizationHandler(_unitOfWork).GetDetailOrganizationById(reqOrg);
                opmodel.OrganizationName = respOrg.Entity.OrgName;
                opmodel.OrgID            = respOrg.Entity.Id;

                var _request = new OrganizationPrivilegeRequest
                {
                    Data = new OrganizationPrivilegeModel
                    {
                        OrgID = Convert.ToInt64(Request.QueryString["orgid"].ToString())
                    }
                };
                //get Privilege Ids for organization
                var selPrivileges = new OrganizationPrivilegeHandler(_unitOfWork, _context).GetListData(_request);
                if (selPrivileges.Entity.PrivilegeIDs != null && selPrivileges.Entity.PrivilegeIDs.Count > 0)
                {
                    opmodel.PrivilegeIDs = selPrivileges.Entity.PrivilegeIDs;
                }
            }

            return(View(opmodel));
        }