Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 15 additions & 17 deletions src/ImportData/Entities/Entity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ public class Entity
ResultValues.Add(property.Name, null);
continue;
}

// Добавляем поля и значения для поиска или создания сущностей.
var propertiesForSearch = GetPropertiesForSearch(property.PropertyType, exceptionList, logger);
var propertiesForSearch = GetPropertiesForSearch(property.PropertyType, exceptionList, logger);

if (propertiesForSearch == null)
propertiesForSearch = new Dictionary<string, string>();
Expand Down Expand Up @@ -151,7 +151,7 @@ public class Entity
entity = (IEntityBase)MethodCall(EntityType, Constants.EntityActions.CreateOrUpdate, entity, isNewEntity, isBatch, exceptionList, logger);

// При необходимость дозаполнить свойства-коллекции.
if(entity != null)
if (entity != null)
FillCollections(exceptionList, logger);
}
catch (Exception ex)
Expand Down Expand Up @@ -244,7 +244,7 @@ private void UpdateProperties(IEntityBase entity)
continue;

if (property.PropertyType == typeof(double))
{
{
if (string.IsNullOrWhiteSpace(ResultValues[property.Name].ToString()))
property.SetValue(entity, 0d);
else
Expand All @@ -264,22 +264,20 @@ private void UpdateProperties(IEntityBase entity)
/// <param name="culture">Культура.</param>
/// <returns>Преобразованная дата.</returns>
/// <exception cref="FormatException" />
private DateTimeOffset ParseDate(string value, NumberStyles style, CultureInfo culture)
private DateTimeOffset? ParseDate(string value, NumberStyles style, CultureInfo culture)
{
if (!string.IsNullOrEmpty(value))
{
DateTimeOffset date;
if (DateTimeOffset.TryParse(value.Trim(), culture.DateTimeFormat, DateTimeStyles.AssumeUniversal, out date))
return date;
if (string.IsNullOrEmpty(value))
return null;

var dateDouble = 0.0;
if (double.TryParse(value.Trim(), style, culture, out dateDouble))
return new DateTimeOffset(DateTime.FromOADate(dateDouble), TimeSpan.Zero);
DateTimeOffset date;
if (DateTimeOffset.TryParse(value.Trim(), culture.DateTimeFormat, DateTimeStyles.AssumeUniversal, out date))
return date;

throw new FormatException("Неверный формат строки.");
}
else
return DateTimeOffset.MinValue;
var dateDouble = 0.0;
if (double.TryParse(value.Trim(), style, culture, out dateDouble))
return new DateTimeOffset(DateTime.FromOADate(dateDouble), TimeSpan.Zero);

throw new FormatException("Неверный формат строки.");
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ namespace ImportData.IntegrationServicesClient.Models
{
public class IContractualDocuments : IOfficialDocuments
{
private DateTimeOffset? validFrom;
private DateTimeOffset? validTill;
private DateTimeOffset? validFrom = null;
private DateTimeOffset? validTill = null;
public IEmployees Assignee { get; set; }

[PropertyOptions("Наша организация", RequiredType.Required, PropertyType.Entity, AdditionalCharacters.ForSearch)]
Expand All @@ -25,14 +25,14 @@ public class IContractualDocuments : IOfficialDocuments
public DateTimeOffset? ValidFrom
{
get { return validFrom; }
set { validFrom = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : new DateTimeOffset?(); }
set { validFrom = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : null; }
}

[PropertyOptions("Действует по", RequiredType.NotRequired, PropertyType.Simple, AdditionalCharacters.ForSearch)]
public DateTimeOffset? ValidTill
{
get { return validTill; }
set { validTill = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : new DateTimeOffset?(); }
set { validTill = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : null; }
}

[PropertyOptions("Сумма", RequiredType.NotRequired, PropertyType.Simple)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ public class ISupAgreements : IContractualDocuments
new public DateTimeOffset? DocumentDate
{
get { return documentDate; }
set { documentDate = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : new DateTimeOffset?(); }
set { documentDate = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : null; }
}

[PropertyOptions("Действует с", RequiredType.Required, PropertyType.Simple)]
new public DateTimeOffset? ValidFrom
{
get { return validFrom; }
set { validFrom = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : new DateTimeOffset?(); }
set { validFrom = value.HasValue ? new DateTimeOffset(value.Value.Date, TimeSpan.Zero) : null; }
}

[PropertyOptions("Действует по", RequiredType.Required, PropertyType.Simple)]
Expand Down