public MarketingPrintOrderItemEntity CreatePrintOrderItemEntity(PrintOrderItem printOrderItem) { return(new MarketingPrintOrderItemEntity(printOrderItem.PrintOrderItemId) { Quantity = (int?)printOrderItem.Quantity, IsNew = printOrderItem.PrintOrderItemId == 0, Sourcecode = printOrderItem.SourceCode, }); }
public List <PrintOrderItem> CreatePrintOrderItemShipping(string filePath, OrganizationRoleUser statusUpdatedBy) { var listPrintOrderItem = new List <PrintOrderItem>(); string row; using (var reader = new StreamReader(filePath)) { reader.ReadLine();/// just to skip first line while (reader.Peek() != -1) { row = reader.ReadLine(); string[] uplodedData = row.Split(new char[] { ',' }); if (uplodedData.Length > 13) { ItemStatus itemShippingStatus; string shippingStatus = uplodedData[2].Replace(" ", ""); try { itemShippingStatus = (ItemStatus)Enum.Parse(typeof(ItemStatus), shippingStatus); } catch (Exception) { itemShippingStatus = ItemStatus.Unknown; } DateTime scheduledDeliveryDate; DateTime.TryParse(uplodedData[3], out scheduledDeliveryDate); string[] updatedSourceCode = uplodedData[13].Split(new[] { '/' }); foreach (string sourceCode in updatedSourceCode) { var printOrderItem = new PrintOrderItem(); var printOrderItemShipping = new PrintOrderItemTracking { TrackingNumber = uplodedData[0], ShippingService = uplodedData[1], ///ShippingStatus = itemShippingStatus, ScheduledDeliveryDate = DateTime.TryParse(uplodedData[3], out scheduledDeliveryDate) ? scheduledDeliveryDate : (DateTime?)null, ShipToName = uplodedData[4], ShipToAttentionOf = uplodedData[5], ShippedToAddress1 = uplodedData[6], ShippedToAddress2 = uplodedData[7], ShippedToCity = uplodedData[8], ShippedToZip = uplodedData[9], ShippedToState = uplodedData[10], PackageReference1 = uplodedData[11], PackageReference2 = uplodedData[12], CreatedByOrgRoleUser = statusUpdatedBy, DateCreated = DateTime.Now, DateUpdated = DateTime.Now, UpdatedByOrgRoleUser = statusUpdatedBy, ConfirmationMode = null, }; printOrderItemShipping.PackageReference3 = sourceCode; printOrderItem.TrackingInfo = printOrderItemShipping; printOrderItem.Status = itemShippingStatus; listPrintOrderItem.Add(printOrderItem); } } } } return(listPrintOrderItem); }
public List <OrderedPair <string, PrintOrderItemTracking> > ParsePrintOrderShipping(string filePath, char seprator, OrganizationRoleUser statusUpdatedBy, out Int32 successRecordCount) { var failedRecordList = new List <OrderedPair <string, PrintOrderItemTracking> >(); successRecordCount = 0; using (var reader = new StreamReader(filePath)) { string rowHeader = reader.ReadLine(); var parserObject = (PrintOrderItemShippingParser)SetParserObject(rowHeader, seprator, typeof(PrintOrderItemShippingParser)); while (reader.Peek() != -1) { string row = reader.ReadLine(); string[] uplodedData = row.Split(seprator); PrintOrderItem printOrderItem; var printOrderItemTracking = new PrintOrderItemTracking(); try { printOrderItem = new PrintOrderItem(); printOrderItemTracking = SetUpPrintOrderItemTracking(uplodedData, parserObject, statusUpdatedBy); ItemStatus itemShippingStatus; string shippingStatus = uplodedData[parserObject.Status].Replace(" ", ""); try { itemShippingStatus = (ItemStatus)Enum.Parse(typeof(ItemStatus), shippingStatus); } catch (Exception) { itemShippingStatus = ItemStatus.Unknown; } string[] updatedSourceCode = uplodedData[parserObject.PackageReferenceNo3].Split(SourceCodeSeprator); foreach (string sourceCode in updatedSourceCode) { printOrderItemTracking.PackageReference3 = sourceCode; printOrderItem.TrackingInfo = printOrderItemTracking; printOrderItem.Status = itemShippingStatus; var failedPrintOrderItemTracking = UpdatePrintOrderShipping(printOrderItem.TrackingInfo, printOrderItem.Status, statusUpdatedBy); if (failedPrintOrderItemTracking != null) { failedRecordList.Add(new OrderedPair <string, PrintOrderItemTracking>(failedPrintOrderItemTracking.FirstValue, printOrderItemTracking)); } else { successRecordCount++; } } } catch (Exception) { var missingFieldList = MissingFieldList(parserObject, uplodedData.Length); string missingField = string.Empty; foreach (var item in missingFieldList) { missingField = missingField + item + ", "; } var failRecord = new OrderedPair <string, PrintOrderItemTracking>("Following fields are missing :" + missingField.Remove(missingField.Length - 2, 1), printOrderItemTracking); failedRecordList.Add(failRecord); } } } return(failedRecordList); }