public override async Task <ExtPostContainer <string> > SaveInput(BarrackInput input) { await Validate(input); var id = !string.IsNullOrWhiteSpace(input.Id) ? input.Id : Guid.NewGuid().ToString("N"); var barrack = new Barrack { Id = id, Name = input.Name, Hectares = input.Hectares, IdPlotLand = input.IdPlotLand, IdPollinator = input.IdPollinator, IdRootstock = input.IdRootstock, IdVariety = input.IdVariety, NumberOfPlants = input.NumberOfPlants, PlantingYear = input.PlantingYear, SeasonId = input.SeasonId }; //GeoBarracks, dependencia de geospacial #if !CONNECT if (input.GeographicalPoints != null && input.GeographicalPoints.Any()) { barrack.GeographicalPoints = input.GeographicalPoints.Select(geoPoint => new Point(geoPoint.Lng, geoPoint.Lat)).ToArray(); } #endif search.DeleteElementsWithRelatedElement(EntityRelated.GEOPOINT, EntityRelated.BARRACK, barrack.Id); await SaveDb(barrack); return(await SaveSearch(barrack)); }
public override async Task Validate(BarrackInput input) { await base.Validate(input); var season = await Queries.GetSeasonStatus(input.IdSeason); var seasonStatus = bool.Parse(season); if (!seasonStatus) { throw new CustomException("La temporada ingresada no se encuentra activa"); } }