public async Task <Customer4A4> Get(Guid customerId) { using (var conn = new SqlConnection()) { var customerData = await conn.QuerySingleOrDefaultAsync <CustomerData4A>( "SELECT * FROM Customers WHERE CustomerId = @customerId", new { customerId }); var addressesData = await conn.QueryAsync <AddressData4A>( "SELECT * FROM Addresses WHERE Customer", new { customerId }); var nameResult = CustomerName.Create(customerData.Title, customerData.FirstName, customerData.LastName); var dobResult = Dob.Create(customerData.DateOfBirth); var idDocumentResult = IdDocument.Create(customerData.IdDocumentType, customerData.IdDocumentNumber); var addresses = addressesData.Select(a => Address4A.Create(a.AddressId, a.HouseNoOrName, a.Street, a.City, a.County, a.PostCode, a.CurrentAddress).Value); return(new Customer4A4(customerData.CustomerId, nameResult.Value, dobResult.Value, idDocumentResult.Value, addresses)); } }
public DocumentDummy() { IdDocument = 1; Topic = string.Empty; CreationDateTime = DateTime.Now; Folder = new FolderDummy(); Folder.Name = "Default Folder "; Description = "___ () " + IdDocument.ToString(); Type = myEnum.TypeOne; }
public Customer4A(Guid customerId, CustomerName name, Dob dateOfBirth, IdDocument idDocument, IEnumerable <Address4A> addresses) { CustomerId = customerId; Name = name; DateOfBirth = dateOfBirth; IdDocument = idDocument; Addresses = addresses; }
public async Task <ActionResult <Guid> > Post([FromBody] CustomerRequest3A request) { // value objects validate their inputs var nameResult = CustomerName.Create(request.Title, request.FirstName, request.LastName); if (nameResult.Status == OperationStatus.ValidationFailure) { return(BadRequest(nameResult.ErrorMessages)); } var dobResult = Dob.Create(request.DateOfBirth); if (dobResult.Status == OperationStatus.ValidationFailure) { return(BadRequest(dobResult.ErrorMessages)); } var idDocumentResult = IdDocument.Create(request.IdDocumentType, request.IdDocumentNumber); if (idDocumentResult.Status == OperationStatus.ValidationFailure) { return(BadRequest(idDocumentResult.ErrorMessages)); } // convert request DTO to domain model var customer = new Customer3A(request.CustomerId, nameResult.Value, dobResult.Value, idDocumentResult.Value, request.Addresses.Select(a => new Address3A(a.HouseNoOrName, a.Street, a.City, a.County, a.PostCode, a.CurrentAddress ))); // command just wrap domain model var response = await _mediator.Send(new CreateCustomerCommand3A(customer)); var apiResponse = new CreateCustomerApiResponse3A(response.Value); if (response.Status == OperationStatus.Conflict) { return(Conflict(apiResponse)); } return(Created($"/customers/customer/{apiResponse.CustomerId}", apiResponse)); }
public Customer4A(Guid customerId, CustomerName name, Dob dateOfBirth, IdDocument idDocument, IEnumerable <Address4A> addresses, IAddressRepository4A3 addressRepository) : this(customerId, name, dateOfBirth, idDocument, addresses) { _addressRepository = addressRepository; }
public Customer4A4(Guid customerId, CustomerName name, Dob dateOfBirth, IdDocument idDocument, IEnumerable <Address4A> addresses) { CustomerId = customerId; Name = name; DateOfBirth = dateOfBirth; IdDocument = idDocument; Addresses = addresses; Commands = new List <IRequest>(); }
public string GetOneDocument() { if (IdDocuments.Count < 1) { return(String.Format("N/A")); //TODO arranjar uma excepção } else if (IdDocuments.Count == 1) { return(IdDocuments[0].ToString()); } else { IdDocument idDocument = (IdDocument)IdDocuments[0]; foreach (IdDocument item in IdDocuments) { if (item.IdDocumentType < idDocument.IdDocumentType) { idDocument = (IdDocument)item; } } return(idDocument.ToString()); } }
public override int GetHashCode() { return(IdDocument.GetHashCode()); }
public override string ToString() { return(IdDocument.ToString() + " : " + Topic.ToString() + " : " + Description.ToString()); }