public static MakerSpace UpdateMakerSpace(this MakerSpace makerSpace, UpdateMakerSpace request) { if (!string.IsNullOrWhiteSpace(request.Name)) { makerSpace.Name = request.Name; } if (!string.IsNullOrWhiteSpace(request.WorkShopType)) { makerSpace.WorkShopType = request.WorkShopType; } if (!string.IsNullOrWhiteSpace(request.AssociatedSchool)) { makerSpace.AssociatedSchool = request.AssociatedSchool; } if (!string.IsNullOrWhiteSpace(request.Description)) { makerSpace.Description = request.Description; } if (!(request.Logo is null)) { makerSpace.Logo = request.Logo; } if (!(request.AccessType == AccessType.None)) { makerSpace.AccessType = request.AccessType; } if (!string.IsNullOrWhiteSpace(request.Organization)) { makerSpace.Organization = request.Organization; } if (!string.IsNullOrWhiteSpace(request.VATNumber)) { makerSpace.VATNumber = request.VATNumber; } if (!string.IsNullOrWhiteSpace(request.Phone) && !string.IsNullOrWhiteSpace(request.Email)) { makerSpace.ContactInfo = new ContactInfo { Phone = request.Phone, Email = request.Email }; } makerSpace.Address = CreateNewValidAddress(makerSpace.Address, request); return(makerSpace); }
private static Address CreateNewValidAddress(Address current, UpdateMakerSpace request) { if (string.IsNullOrWhiteSpace(request.Street)) { request.Street = current.Street; } if (string.IsNullOrWhiteSpace(request.City)) { request.City = current.City; } if (string.IsNullOrWhiteSpace(request.PostCode)) { request.PostCode = current.PostCode; } if (string.IsNullOrWhiteSpace(request.Country)) { request.Country = current.Country; } return(new Address(request.Street, request.Country, request.Country, request.PostCode)); }