public RelationDetailsCreateModel TryFormatPostalCode(RelationDetailsCreateModel relationModel) { string postalCodeMask = GetPostalCodeMask(relationModel); relationModel.PostalCode = ModifyPostalCode(relationModel.PostalCode, postalCodeMask); return(relationModel); }
public async Task <RelationDetailsViewModel> PostRelationAsync(RelationDetailsCreateModel relationModel) { TryFormatPostalCode(relationModel); Relation relation = new Relation() { Id = relationModel.Id, Name = relationModel.Name, FullName = relationModel.FullName, TelephoneNumber = relationModel.TelephoneNumber, EmailAddress = relationModel.EmailAddress }; RelationAddress relationAddress = new RelationAddress() { RelationId = relation.Id, CountryName = relationModel.Country, City = relationModel.City, Street = relationModel.Street, Number = relationModel.StreetNumber, PostalCode = relationModel.PostalCode }; _context.Relations.Add(relation); _context.RelationAddresses.Add(relationAddress); try { await _context.SaveChangesAsync(); } catch (DbUpdateException ex) { if (RelationExists(relation.Id)) { throw ex; } else { throw; } } RelationDetailsViewModel relationView = await _context.Relations.Where(r => r.Id == relation.Id).Select(v => new RelationDetailsViewModel { Id = v.Id, Name = v.Name, FullName = v.FullName, TelephoneNumber = v.TelephoneNumber, EmailAddress = v.EmailAddress, Country = v.RelationAddress.CountryName, City = v.RelationAddress.City, Street = v.RelationAddress.Street, StreetNumber = v.RelationAddress.Number, PostalCode = v.RelationAddress.PostalCode }).FirstOrDefaultAsync(); return(relationView); }
public async Task <ActionResult <RelationDetailsViewModel> > PostRelation(RelationDetailsCreateModel relationModel) { try { var relation = await _relationsService.CreateModel(relationModel); return(CreatedAtAction("GetRelation", new { id = relation.Id }, relation)); } catch (Exception ex) { return(base.BadRequest(new ProblemDetails() { Title = ex.Message, Detail = ex.ToString() })); } }
public string GetPostalCodeMask(RelationDetailsCreateModel relationModel) { string postalCodeFormatMask; if (relationModel.PostalCode != null && relationModel.Country != null) { postalCodeFormatMask = _context.Countries .Where(n => n.Name == relationModel.Country && n.PostalCodeFormat != null) .Select(n => n.PostalCodeFormat).FirstOrDefault(); if (postalCodeFormatMask != null) { return(postalCodeFormatMask); } else { return(""); } } else { return(""); } }
public async Task <RelationDetailsViewModel> CreateModel(RelationDetailsCreateModel relationModel) { var relation = await _repositoryWrapper.Relations.PostRelationAsync(relationModel); return(relation); }