public async Task <int> AddReleaseDateAsync(ReleaseDateAddModel releaseDate) { string query = @"INSERT INTO ReleaseDate (ComingSoon, ReleasedDate) OUTPUT INSERTED.ReleaseDateId VALUES(@ComingSoon, @ReleasedDate)"; return(await SaveDataAsync(query, releaseDate)); }
public async Task ValidateReleaseDate(int?releaseDateID, ReleaseDateAddModel releaseDate) { var validator = DataValidatorHelper.Validate(releaseDate); if (validator.IsValid) { if (releaseDateID != null || releaseDateID != 0) { var id = releaseDateID.Value; var releaseDateDB = await _releaseDateDBAccess.GetReleaseDateByIdAsync(id); if (releaseDateDB != null) { // check if current release data on db is true and oen passed is false then update it if (releaseDateDB.ComingSoon && !releaseDate.ComingSoon || !releaseDateDB.ReleasedDate.Equals(releaseDate.ReleasedDate) ) { UpdateReleaseDate(new ReleaseDateUpdateModel { ReleaseDateId = releaseDateDB.ReleaseDateId, ComingSoon = releaseDate.ComingSoon, ReleasedDate = releaseDate.ReleasedDate }); } } else { throw new Exception($"{nameof(releaseDateDB)}does not exist on DB"); } } } else { Console.WriteLine($"Invalid Data from {nameof(ReleaseDateAddModel)}"); validator.Errors.ForEach(e => Console.WriteLine(e)); throw new Exception("Some data are invalid"); } }
public async Task <int> AddReleaseDate(ReleaseDateAddModel releaseDate) { var validator = DataValidatorHelper.Validate(releaseDate); if (validator.IsValid) { return(await _releaseDateDBAccess.AddReleaseDateAsync(releaseDate)); } if (String.IsNullOrEmpty(releaseDate.ReleasedDate) && releaseDate.ComingSoon) { releaseDate.ReleasedDate = "Not Confirmed"; return(await _releaseDateDBAccess.AddReleaseDateAsync(releaseDate)); } Console.WriteLine($"Invalid Data from {nameof(ReleaseDateAddModel)}"); validator.Errors.ForEach(e => Console.WriteLine(e)); throw new Exception("Some data are invalid"); }