public ViewModels.Site Save(ViewModels.RegisterSite site) { try { if (!ValidateSite(site)) { base.ValidationFailed(); return(null); } base.ValidationPassed(); DataModels.Site dbSite = new DataModels.Site(); dbSite.HoursPerDay = site.HoursPerDay; dbSite.IncludeWeekends = site.IncludeWeekends; dbSite.Name = site.Name; dbSite.UniqueSiteId = site.UniqueSiteId; dbSite.PublicIdentifier = Guid.NewGuid(); this.context.Site.Add(dbSite); this.context.SaveChanges(); ViewModels.Site viewSite = new ViewModels.Site(); viewSite.UniqueSiteId = dbSite.UniqueSiteId; viewSite.HoursPerDay = dbSite.HoursPerDay; viewSite.ID = dbSite.PublicIdentifier; viewSite.IncludeWeekends = dbSite.IncludeWeekends; viewSite.Name = dbSite.Name; return(viewSite); } catch (Exception e) { base.SetError(e.Message); return(null); } }
private bool ValidateSite(ViewModels.RegisterSite site) { //Can't save more than one site in single site mode if (this.configuration["SingleSiteMode"].ToLower() == "true") { if (this.context.Site.Count() > 0) { return(false); } } if (String.IsNullOrEmpty(site.Name) || site.Name.Length > 50) { return(false); } if (site.HoursPerDay <= 0) { return(false); } if (String.IsNullOrEmpty(site.UniqueSiteId) || site.UniqueSiteId.Length > 100) { return(false); } return(true); }
public IActionResult Post([FromBody] ViewModels.RegisterSite site) { ViewModels.Site returnSite = this.siteRepository.Save(site); if (!siteRepository.ValidSubmission) { return(BadRequest(site)); } if (siteRepository.ErrorDetected) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(new ObjectResult(returnSite)); }