/// <summary>
        /// Updates the organization structure.
        /// </summary>
        /// <param name="organizationDetails">The organization details.</param>
        /// <returns></returns>
        public Response <OrganizationDetailsModel> UpdateOrganizationStructure(OrganizationDetailsModel organizationDetails)
        {
            var programUnitRepository = _unitOfWork.GetRepository <OrganizationDetailsModel>(SchemaName.Core);
            var programUnitParams     = BuildOrgStructureParams(organizationDetails);

            return(programUnitRepository.ExecuteNQStoredProc("usp_UpdateOrganizationDetails", programUnitParams));
        }
        /// <summary>
        /// Builds the org structure parameters.
        /// </summary>
        /// <param name="organizationDetails">The organization details.</param>
        /// <returns></returns>
        private List <SqlParameter> BuildOrgStructureParams(OrganizationDetailsModel organizationDetails)
        {
            var spParameters = new List <SqlParameter>();

            if (organizationDetails.DetailID > 0)
            {
                spParameters.Add(new SqlParameter("DetailID", organizationDetails.DetailID));
            }

            if ((organizationDetails.DetailID ?? 0) == 0)
            {
                spParameters.Add(new SqlParameter("DataKey", organizationDetails.DataKey));
            }

            spParameters.AddRange(new List <SqlParameter> {
                new SqlParameter("Name", (object)organizationDetails.Name ?? DBNull.Value),
                new SqlParameter("Acronym", (object)organizationDetails.Acronym ?? DBNull.Value),
                new SqlParameter("Code", (object)organizationDetails.Code ?? DBNull.Value),
                new SqlParameter("EffectiveDate", (object)organizationDetails.EffectiveDate ?? DBNull.Value),
                new SqlParameter("ExpirationDate", (object)organizationDetails.ExpirationDate ?? DBNull.Value),
                new SqlParameter("IsExternal", (object)organizationDetails.IsExternal ?? DBNull.Value),
                new SqlParameter("IsActive", (object)organizationDetails.IsActive ?? true),
                new SqlParameter("ModifiedOn", (object)organizationDetails.ModifiedOn ?? DateTime.Now)
            });

            return(spParameters);
        }
예제 #3
0
        public ActionResult Details(Guid id)
        {
            if (id == Guid.Empty)
            {
                throw new HttpException(400, "Bad Request");
            }

            using (var db = ApplicationDbContext.Create())
            {
                var org = db.Organizations
                          .Where(x => x.Id == id)
                          .Include(x => x.ApplicationUsers)
                          .FirstOrDefault();
                if (org == null)
                {
                    throw new HttpException(404, "Not Found");
                }

                var thisUser = db.Users.Where(x => x.UserName == User.Identity.Name)
                               .Include(x => x.Organizations)
                               .FirstOrDefault();

                var model = new OrganizationDetailsModel();
                model.Organization        = org;
                model.IsSiteAdministrator = thisUser.IsAdministrator;

                var existingUsers = org.ApplicationUsers.ToList();
                var addableUsers  = db.Users
                                    .Where(x => !x.IsPlaceholder)
                                    .OrderBy(x => x.Email)
                                    .ToList()
                                    .Except(existingUsers)
                                    .ToList();
                foreach (var user in addableUsers)
                {
                    var sel = new SelectListItem();
                    sel.Text  = user.FullName + " - " + user.Email;
                    sel.Value = user.Id;
                    model.AddableUsers.Add(sel);
                }

                return(View(model));
            }
        }
        private static void BindSettings(OrganizationDetailsModel model, ControllerContext controllerContext)
        {
            var request = controllerContext.HttpContext.Request.Unvalidated();
            var keys = ModelHelpers.GetKeys(typeof(OrgSettingKeys));
            model.OrganizationSettings = new List<OrganizationSettingModel>();

            foreach (var key in keys)
            {
                var formKey = string.Format("setting_{0}", key);
                var setting = new OrganizationSettingModel
                                  {
                                      Name = key,
                                      Value = !string.IsNullOrEmpty(request[formKey]) ? request[formKey] : string.Empty,
                                      DataType = 1
                                  };

                model.OrganizationSettings.Add(setting);
            }
        }
 public ActionResult Details(OrganizationDetailsModel model)
 {
     return View();
 }