public IHttpActionResult Put(int id, [FromBody] CreateClearanceCode command) { if (command == null || !ModelState.IsValid || id == 0) { return(this.Error().InvalidParameters()); } var clearancecode = _clearanceRepository.Find(id); if (clearancecode == null) { return(NotFound()); } ClearanceCode.Validate(command.Code, command.Description); var clearances = _clearanceRepository.FindByExternal(command.Code).ToList(); //No duplicate clearance code if (clearances.Count != 0 && (clearances.Count != 1 || clearances[0].Id != id)) { return(this.Error().InvalidParameters("Clearance code already exists")); } MapTo(command, ref clearancecode); _clearanceRepository.Add(clearancecode); _clearanceRepository.SaveChanges(); return(Ok(_mapper.Map <ClearanceCodeModel>(clearancecode))); }
public void Add(ClearanceCode item) { lock (_session) { _session.Store(item); } }
private void ValidateForSave(List <ClearanceCode> clearanceCodes) { clearanceCodes.ForEach(c => ClearanceCode.Validate(c.Code, c.Description)); var clearanceInDb = _clearanceRepository.FindByExternal(clearanceCodes.Select(c => c.Code)?.ToList())?.ToList(); if (clearanceInDb != null && clearanceInDb.Any()) { var msg = "Clearances code already exists: " + string.Join(",", clearanceInDb.Select(c => c.Code)?.Distinct().ToList()); throw new InvalidDataException(msg); } }
public void Add(ClearanceCode item) { var entity = _dbContext.Find <Entities.Tenant.ClearanceCode>( (item ?? throw new ArgumentNullException(nameof(item))).Id); if (entity == null) { _dbContext.Add(_mapper.Map <Entities.Tenant.ClearanceCode>(item), post => post.MapTo(item), _mapper); } else { _mapper.Map(item, entity); _dbContext.Update(entity, post => post.MapTo(item), _mapper); } }
private IEnumerable <Restriction> BuildRestrictionFixtures(SalesArea salesArea, ClearanceCode clearanceCode, int count) { var restrictions = Fixture.Build <Restriction>() .Without(p => p.SalesAreas) .Without(p => p.ClearanceCode) .Without(p => p.RestrictionDays) .Without(p => p.StartDate) .Without(p => p.EndDate) .Without(p => p.ClashCode) .Without(p => p.ProductCode) .Without(p => p.ClockNumber) .Without(p => p.ExternalProgRef) .Without(p => p.ProgrammeCategory) .Without(p => p.ProgrammeClassification) .Without(p => p.RestrictionBasis) .Without(p => p.RestrictionType) .Without(p => p.IndexType) .Without(p => p.IndexThreshold) .Do(p => { p.SalesAreas = new List <string>(); p.SalesAreas.ToList().Add(salesArea.Name); p.ClearanceCode = clearanceCode.Code; p.RestrictionDays = "1111111"; p.StartDate = Fixture.Create <DateTime>(); p.EndDate = p.StartDate.AddDays(1); p.ProductCode = 0; p.ClockNumber = string.Empty; p.ProgrammeCategory = string.Empty; p.RestrictionBasis = RestrictionBasis.ClearanceCode; p.RestrictionType = RestrictionType.Time; p.ProgrammeClassification = string.Empty; p.IndexType = 0; p.IndexThreshold = 0; }).CreateMany(count); return(restrictions); }
private void MapTo(CreateClearanceCode command, ref ClearanceCode clearancecode) { clearancecode.Description = command.Description; clearancecode.Code = command.Code; }