Пример #1
0
        public async Task <IActionResult> Save([FromBody] DSRMEdit value)
        {
            if (!ModelState.IsValid)
            {
                Dictionary <string, string> errors = new Dictionary <string, string>();
                foreach (var item in ModelState)
                {
                    if (item.Value.Errors.Any())
                    {
                        errors.Add(item.Key, string.Join("; ", item.Value.Errors.Select(x => x.ErrorMessage)));
                    }
                }
                return(Error(message: "Site edit model parameters is invalid!", internalMessage: null, data: errors));
            }

            var hasSiteDefinition = await Db.Sites.AnyAsync(z => (z.Name.Equals(value.Name) || z.SiteAddress.Equals(value.SiteAddress)) && z.Id != value.Id);

            if (hasSiteDefinition)
            {
                return(Error(message: "This changes is already using another record!"));
            }

            var site = await Db.Sites.FirstOrDefaultAsync(z => z.Id == value.Id);

            if (site == null)
            {
                return(Error(message: "Site definition not found!"));
            }

            site.AccessCode        = value.AccessCode;
            site.AccessCodeEndDate = value.ExpirationDate;
            site.ModifiedOn        = DateTime.UtcNow;
            site.Name        = value.Name;
            site.Description = value.Description;
            site.SiteAddress = value.SiteAddress;
            site.Status      = (DSDSiteStatusTypes)value.Status;

            Db.Sites.Update(site);

            var result = await Db.SaveChangesAsync();

            if (result > 0)
            {
                return(Success("Site saved successfully."));
            }
            else
            {
                return(Error(message: "Something is wrong with your model!"));
            }
        }
Пример #2
0
        public async Task <IActionResult> Save([FromBody] DSRMEdit value)
        {
            if (!ModelState.IsValid)
            {
                Dictionary <string, string> errors = new Dictionary <string, string>();
                foreach (var item in ModelState)
                {
                    if (item.Value.Errors.Any())
                    {
                        errors.Add(item.Key, string.Join("; ", item.Value.Errors.Select(x => x.ErrorMessage)));
                    }
                }
                return(Error(message: "Profile edit model parameters is invalid!", internalMessage: null, data: errors));
            }

            if (!string.IsNullOrEmpty(value.Password))
            {
                if (value.Password.Length < 6)
                {
                    return(Error("Password field must be min 6 character!"));
                }
                if (value.Password.Length > 20)
                {
                    return(Error("Password field must be max 20 character!"));
                }
            }

            var hasUserDefinition = await Db.Users.AnyAsync(z => (z.Username.Equals(value.Username) || z.Email.Equals(value.Email)) && z.Id != UserId);

            if (hasUserDefinition)
            {
                return(Error(message: "This changes (username or email) is already using another record!"));
            }

            var user = await Db.Users.FirstOrDefaultAsync(z => z.Id == UserId);

            if (user == null)
            {
                return(Error(message: "User not found!"));
            }

            user.Firstname  = value.Firstname;
            user.Lastname   = value.Lastname;
            user.Email      = value.Email;
            user.Username   = value.Username;
            user.ModifiedOn = DateTime.UtcNow;

            if (!string.IsNullOrEmpty(value.Password))
            {
                user.Password = new CryptoHelper().HashWithSHA512(value.Password);
            }

            Db.Users.Update(user);
            var result = await Db.SaveChangesAsync();

            if (result > 0)
            {
                return(Success("User updated successfully."));
            }
            else
            {
                return(Error(message: "Something is wrong with your model!"));
            }
        }