Skip to content

Commit 1eefa1d

Browse files
authored
Merge pull request #77 from IgniteUI/dgdimitrov/make-address-fields-nullable
Make address fields nullable, improve phone regex to support dashes
2 parents 7cd49b5 + 551ee27 commit 1eefa1d

File tree

4 files changed

+17
-22
lines changed

4 files changed

+17
-22
lines changed

NorthwindCRUD/Models/Contracts/IAddress.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ namespace NorthwindCRUD.Models.Contracts
44
{
55
public interface IAddress
66
{
7-
string Street { get; set; }
7+
string? Street { get; set; }
88

9-
string City { get; set; }
9+
string? City { get; set; }
1010

11-
string Region { get; set; }
11+
string? Region { get; set; }
1212

13-
string PostalCode { get; set; }
13+
string? PostalCode { get; set; }
1414

15-
string Country { get; set; }
15+
string? Country { get; set; }
1616

1717
string? Phone { get; set; }
1818
}

NorthwindCRUD/Models/DbModels/AddressDb.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ public class AddressDb : IAddress
1010
[DatabaseGenerated(DatabaseGeneratedOption.None)]
1111
public string AddressId { get; set; }
1212

13-
public string Street { get; set; }
13+
public string? Street { get; set; }
1414

15-
public string City { get; set; }
15+
public string? City { get; set; }
1616

17-
public string Region { get; set; }
17+
public string? Region { get; set; }
1818

19-
public string PostalCode { get; set; }
19+
public string? PostalCode { get; set; }
2020

21-
public string Country { get; set; }
21+
public string? Country { get; set; }
2222

2323
public string? Phone { get; set; }
2424

NorthwindCRUD/Models/Dtos/AddressDto.cs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,22 @@ namespace NorthwindCRUD.Models.Dtos
55
{
66
public class AddressDto : IAddress
77
{
8-
[Required(ErrorMessage = "Street is required.")]
98
[StringLength(100, ErrorMessage = "Street cannot exceed 100 characters.")]
10-
public string Street { get; set; }
9+
public string? Street { get; set; }
1110

12-
[Required(ErrorMessage = "City is required.")]
1311
[StringLength(50, ErrorMessage = "City cannot exceed 50 characters.")]
14-
public string City { get; set; }
12+
public string? City { get; set; }
1513

16-
[Required(ErrorMessage = "Region is required.")]
1714
[StringLength(50, ErrorMessage = "Region cannot exceed 50 characters.")]
18-
public string Region { get; set; }
15+
public string? Region { get; set; }
1916

20-
[Required(ErrorMessage = "PostalCode is required.")]
2117
[StringLength(20, ErrorMessage = "Postal code cannot exceed 20 characters.")]
22-
public string PostalCode { get; set; }
18+
public string? PostalCode { get; set; }
2319

24-
[Required(ErrorMessage = "Country is required.")]
2520
[StringLength(50, ErrorMessage = "Country cannot exceed 50 characters.")]
26-
public string Country { get; set; }
21+
public string? Country { get; set; }
2722

28-
[RegularExpression(@"^\+?[1-9]\d{1,14}$", ErrorMessage = "Phone number is not valid.")]
23+
[RegularExpression(@"^\+?[0-9][0-9\-]{1,14}$", ErrorMessage = "Phone number is not valid.")]
2924
public string? Phone { get; set; }
3025
}
3126
}

NorthwindCRUD/Services/SalesService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public SalesDto[] RetrieveSalesDataByCountry(string startDate, string endDate, s
7171
.ToList();
7272

7373
var filteredData = salesData
74-
.Where(od => od.Order.ShipAddress?.Country.ToLower(CultureInfo.InvariantCulture) == normalizedCountry && DateTime.Parse(od.Order.OrderDate, CultureInfo.InvariantCulture) >= parsedStartDate && DateTime.Parse(od.Order.RequiredDate, CultureInfo.InvariantCulture) <= parsedEndDate)
74+
.Where(od => od.Order.ShipAddress?.Country?.ToLower(CultureInfo.InvariantCulture) == normalizedCountry && DateTime.Parse(od.Order.OrderDate, CultureInfo.InvariantCulture) >= parsedStartDate && DateTime.Parse(od.Order.RequiredDate, CultureInfo.InvariantCulture) <= parsedEndDate)
7575
.ToList();
7676

7777
var sales = filteredData.Select(od => new SalesDto

0 commit comments

Comments
 (0)