Code cleanup
This commit is contained in:
@@ -17,7 +17,8 @@ namespace SynchronizeOrdersWithMissingQty.DataProvider
|
||||
public IList<ScheduleOrder> GetFaKrosnoScheduleOrders(DateTime plannedSendingDate)
|
||||
{
|
||||
IList<ScheduleOrder> scheduleOrders = FaKrosnoDataContext.ScheduleOrder
|
||||
.Where(x => DbFunctions.TruncateTime(x.LastUpdateDate) <= plannedSendingDate.Date).OrderByDescending(x => x.LastUpdateDate).ToList();
|
||||
.Where(x => DbFunctions.TruncateTime(x.LastUpdateDate) <= plannedSendingDate.Date &&
|
||||
x.Recipient.Purchaser.Id == 2).OrderByDescending(x => x.LastUpdateDate).ToList();
|
||||
|
||||
foreach (ScheduleOrderDetail scheduleOrderDetail in scheduleOrders.SelectMany(x => x.ScheduleOrderDetail))
|
||||
{
|
||||
@@ -104,62 +105,14 @@ namespace SynchronizeOrdersWithMissingQty.DataProvider
|
||||
|
||||
foreach (ScheduleOrderDetail scheduleOrderDetail in missedDetailsMisc)
|
||||
{
|
||||
createdPlannedDetails.Add(new PlannedQty
|
||||
{
|
||||
DateFrom = plannedSendingDate,
|
||||
DateTo = plannedSendingDate,
|
||||
ScheduleOrderDetailId = scheduleOrderDetail.Id,
|
||||
ScheduleOrderDetail = scheduleOrderDetail,
|
||||
Recipient = scheduleOrderDetail.ScheduleOrder.Recipient,
|
||||
LastUpdateDate = scheduleOrderDetail.ScheduleOrder.LastUpdateDate,
|
||||
Qty = int.Parse(scheduleOrderDetail.ScheduleOrderDetailMisc.First(y => y.Type == "QTY_83" &&
|
||||
DateTime.Parse(y.Label.Split(' ').Last()).Date == plannedSendingDate.Date).Value),
|
||||
SccType = scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.SccType,
|
||||
SccDesc = scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.SccDesc,
|
||||
QtyType = scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.QtyType,
|
||||
QtyDesc =
|
||||
$"LATE: {scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.QtyDesc}",
|
||||
Status = "new",
|
||||
CreatedDate = createdDate,
|
||||
RecipientCode = scheduleOrderDetail.RecipientCode,
|
||||
RecipientId =
|
||||
recipients.FirstOrDefault(x => x.RecipientCode == scheduleOrderDetail.RecipientCode)?.Id ??
|
||||
scheduleOrderDetail.ScheduleOrder.Recipient.Id,
|
||||
PlannedNumber = newPlannedNumber,
|
||||
OrderId = scheduleOrderDetail.ScheduleOrder.OrderID,
|
||||
CustomerCode = customers.FirstOrDefault(x => x.TpCode == scheduleOrderDetail.RecipientCode)
|
||||
?.CustomerNumber
|
||||
});
|
||||
createdPlannedDetails.Add(scheduleOrderDetail.GeneratePlannedQty(plannedSendingDate, createdDate,
|
||||
recipients, newPlannedNumber, customers));
|
||||
}
|
||||
|
||||
foreach (ScheduleOrderDetailDetail scheduleOrderDetailDetail in newPlannedDetails)
|
||||
{
|
||||
createdPlannedDetails.Add(new PlannedQty
|
||||
{
|
||||
DateFrom = plannedSendingDate,
|
||||
DateTo = plannedSendingDate,
|
||||
ScheduleOrderDetailId = scheduleOrderDetailDetail.ScheduleOrderDetail.Id,
|
||||
ScheduleOrderDetail = scheduleOrderDetailDetail.ScheduleOrderDetail,
|
||||
Recipient = scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.Recipient,
|
||||
LastUpdateDate = scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.LastUpdateDate,
|
||||
Qty = scheduleOrderDetailDetail.Qty,
|
||||
SccType = scheduleOrderDetailDetail.SccType,
|
||||
SccDesc = scheduleOrderDetailDetail.SccDesc,
|
||||
QtyType = scheduleOrderDetailDetail.QtyType,
|
||||
QtyDesc = scheduleOrderDetailDetail.QtyDesc,
|
||||
Status = "new",
|
||||
CreatedDate = DateTime.Now,
|
||||
RecipientCode = scheduleOrderDetailDetail.ScheduleOrderDetail.RecipientCode,
|
||||
RecipientId =
|
||||
recipients.FirstOrDefault(x =>
|
||||
x.RecipientCode == scheduleOrderDetailDetail.ScheduleOrderDetail.RecipientCode)?.Id ??
|
||||
scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.Recipient.Id,
|
||||
PlannedNumber = newPlannedNumber,
|
||||
OrderId = scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.OrderID,
|
||||
CustomerCode = customers
|
||||
.FirstOrDefault(x => x.TpCode == scheduleOrderDetailDetail.ScheduleOrderDetail.RecipientCode)
|
||||
?.CustomerNumber
|
||||
});
|
||||
createdPlannedDetails.Add(scheduleOrderDetailDetail.GeneratePlannedQty(plannedSendingDate, createdDate,
|
||||
recipients, newPlannedNumber, customers));
|
||||
}
|
||||
|
||||
if (!createdPlannedDetails.Any())
|
||||
@@ -171,27 +124,8 @@ namespace SynchronizeOrdersWithMissingQty.DataProvider
|
||||
|
||||
foreach (PlannedQty missingPlannedDetail in missingPlannedDetails)
|
||||
{
|
||||
createdPlannedDetails.Add(new PlannedQty
|
||||
{
|
||||
DateFrom = plannedSendingDate,
|
||||
DateTo = plannedSendingDate,
|
||||
ScheduleOrderDetailId = missingPlannedDetail.ScheduleOrderDetailId,
|
||||
ScheduleOrderDetail = missingPlannedDetail.ScheduleOrderDetail,
|
||||
Recipient = missingPlannedDetail.Recipient,
|
||||
LastUpdateDate = missingPlannedDetail.LastUpdateDate,
|
||||
Qty = missingPlannedDetail.Qty,
|
||||
SccType = missingPlannedDetail.SccType,
|
||||
SccDesc = missingPlannedDetail.SccDesc,
|
||||
QtyType = missingPlannedDetail.QtyType,
|
||||
QtyDesc = missingPlannedDetail.QtyDesc,
|
||||
Status = "new",
|
||||
CreatedDate = DateTime.Now,
|
||||
RecipientCode = missingPlannedDetail.RecipientCode,
|
||||
RecipientId = missingPlannedDetail.RecipientId,
|
||||
PlannedNumber = newPlannedNumber,
|
||||
OrderId = missingPlannedDetail.OrderId,
|
||||
CustomerCode = missingPlannedDetail.CustomerCode
|
||||
});
|
||||
createdPlannedDetails.Add(
|
||||
missingPlannedDetail.GenerateCopy(plannedSendingDate, createdDate, newPlannedNumber));
|
||||
}
|
||||
|
||||
return createdPlannedDetails;
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FaKrosnoDataModel;
|
||||
using SytelineSaAppDataModel;
|
||||
|
||||
namespace SynchronizeOrdersWithMissingQty
|
||||
{
|
||||
@@ -58,5 +59,95 @@ namespace SynchronizeOrdersWithMissingQty
|
||||
{
|
||||
return plannedQuantities.Any(x => x.IsEqualTo(other));
|
||||
}
|
||||
|
||||
public static PlannedQty GeneratePlannedQty(this ScheduleOrderDetail scheduleOrderDetail,
|
||||
DateTime plannedSendingDate, DateTime createdDate, IList<Recipient> recipients, int newPlannedNumber,
|
||||
IList<CustomerTp> customers)
|
||||
{
|
||||
return new PlannedQty
|
||||
{
|
||||
DateFrom = plannedSendingDate,
|
||||
DateTo = plannedSendingDate,
|
||||
ScheduleOrderDetailId = scheduleOrderDetail.Id,
|
||||
ScheduleOrderDetail = scheduleOrderDetail,
|
||||
Recipient = scheduleOrderDetail.ScheduleOrder.Recipient,
|
||||
LastUpdateDate = scheduleOrderDetail.ScheduleOrder.LastUpdateDate,
|
||||
Qty = int.Parse(scheduleOrderDetail.ScheduleOrderDetailMisc.First(y => y.Type == "QTY_83" &&
|
||||
DateTime.Parse(y.Label.Split(' ').Last()).Date == plannedSendingDate.Date).Value),
|
||||
SccType = scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.SccType,
|
||||
SccDesc = scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.SccDesc,
|
||||
QtyType = scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.QtyType,
|
||||
QtyDesc =
|
||||
$"LATE: {scheduleOrderDetail.ScheduleOrderDetailDetail.FirstOrDefault()?.QtyDesc}",
|
||||
Status = "new",
|
||||
CreatedDate = createdDate,
|
||||
RecipientCode = scheduleOrderDetail.RecipientCode,
|
||||
RecipientId =
|
||||
recipients.FirstOrDefault(x => x.RecipientCode == scheduleOrderDetail.RecipientCode)?.Id ??
|
||||
scheduleOrderDetail.ScheduleOrder.Recipient.Id,
|
||||
PlannedNumber = newPlannedNumber,
|
||||
OrderId = scheduleOrderDetail.ScheduleOrder.OrderID,
|
||||
CustomerCode = customers.FirstOrDefault(x => x.TpCode == scheduleOrderDetail.RecipientCode)
|
||||
?.CustomerNumber
|
||||
};
|
||||
}
|
||||
|
||||
public static PlannedQty GeneratePlannedQty(this ScheduleOrderDetailDetail scheduleOrderDetailDetail,
|
||||
DateTime plannedSendingDate, DateTime createdDate, IList<Recipient> recipients, int newPlannedNumber,
|
||||
IList<CustomerTp> customers)
|
||||
{
|
||||
return new PlannedQty
|
||||
{
|
||||
DateFrom = plannedSendingDate,
|
||||
DateTo = plannedSendingDate,
|
||||
ScheduleOrderDetailId = scheduleOrderDetailDetail.ScheduleOrderDetail.Id,
|
||||
ScheduleOrderDetail = scheduleOrderDetailDetail.ScheduleOrderDetail,
|
||||
Recipient = scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.Recipient,
|
||||
LastUpdateDate = scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.LastUpdateDate,
|
||||
Qty = scheduleOrderDetailDetail.Qty,
|
||||
SccType = scheduleOrderDetailDetail.SccType,
|
||||
SccDesc = scheduleOrderDetailDetail.SccDesc,
|
||||
QtyType = scheduleOrderDetailDetail.QtyType,
|
||||
QtyDesc = scheduleOrderDetailDetail.QtyDesc,
|
||||
Status = "new",
|
||||
CreatedDate = createdDate,
|
||||
RecipientCode = scheduleOrderDetailDetail.ScheduleOrderDetail.RecipientCode,
|
||||
RecipientId =
|
||||
recipients.FirstOrDefault(x =>
|
||||
x.RecipientCode == scheduleOrderDetailDetail.ScheduleOrderDetail.RecipientCode)?.Id ??
|
||||
scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.Recipient.Id,
|
||||
PlannedNumber = newPlannedNumber,
|
||||
OrderId = scheduleOrderDetailDetail.ScheduleOrderDetail.ScheduleOrder.OrderID,
|
||||
CustomerCode = customers
|
||||
.FirstOrDefault(x => x.TpCode == scheduleOrderDetailDetail.ScheduleOrderDetail.RecipientCode)
|
||||
?.CustomerNumber
|
||||
};
|
||||
}
|
||||
|
||||
public static PlannedQty GenerateCopy(this PlannedQty plannedQty, DateTime plannedSendingDate,
|
||||
DateTime createdDate, int newPlannedNumber)
|
||||
{
|
||||
return new PlannedQty
|
||||
{
|
||||
DateFrom = plannedSendingDate,
|
||||
DateTo = plannedSendingDate,
|
||||
ScheduleOrderDetailId = plannedQty.ScheduleOrderDetailId,
|
||||
ScheduleOrderDetail = plannedQty.ScheduleOrderDetail,
|
||||
Recipient = plannedQty.Recipient,
|
||||
LastUpdateDate = plannedQty.LastUpdateDate,
|
||||
Qty = plannedQty.Qty,
|
||||
SccType = plannedQty.SccType,
|
||||
SccDesc = plannedQty.SccDesc,
|
||||
QtyType = plannedQty.QtyType,
|
||||
QtyDesc = plannedQty.QtyDesc,
|
||||
Status = "new",
|
||||
CreatedDate = createdDate,
|
||||
RecipientCode = plannedQty.RecipientCode,
|
||||
RecipientId = plannedQty.RecipientId,
|
||||
PlannedNumber = newPlannedNumber,
|
||||
OrderId = plannedQty.OrderId,
|
||||
CustomerCode = plannedQty.CustomerCode
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user