public async Task <IActionResult> Add([FromBody] DSRMAdd 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 add 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)); if (hasSiteDefinition) { return(Error(message: "Site definition is already existing!")); } var accessCode = new CryptoHelper().HashWithSHA512(Guid.NewGuid() + DateTime.Now.ToString()); var data = new DSDSite { AccessCode = accessCode, AccessCodeEndDate = value.ExpirationDate, CreatedOn = DateTime.UtcNow, ModifiedOn = DateTime.UtcNow, Name = value.Name, Description = value.Description, SiteAddress = value.SiteAddress, Status = (DSDSiteStatusTypes)value.Status, Id = Guid.NewGuid() }; Db.Sites.Add(data); var result = await Db.SaveChangesAsync(); if (result > 0) { return(Success("Site saved successfully.", data: new { Id = data.Id })); } else { return(Error(message: "Something is wrong with your model!")); } }
public async Task <IActionResult> Add([FromBody] DSRMAdd 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: "Accessible Site add model parameters is invalid!", internalMessage: null, data: errors)); } var hasAccessibleSiteDefinition = await Db.AccessibleSites.AnyAsync(z => z.SiteId == value.SiteId && z.AccessibleSiteId == value.AccessibleSiteId); if (hasAccessibleSiteDefinition) { return(Error(message: "Accessible Site definition is already existing!")); } var data = new DSDAccessibleSite { Id = Guid.NewGuid(), SiteId = value.SiteId, AccessibleSiteId = value.AccessibleSiteId, CreatedOn = DateTime.UtcNow, ModifiedOn = DateTime.UtcNow }; Db.AccessibleSites.Add(data); var result = await Db.SaveChangesAsync(); if (result > 0) { return(Success("Accessible Site saved successfully.", data: new { Id = data.Id })); } else { return(Error(message: "Something is wrong with your model!")); } }