private static PrintOrderItemTracking SetUpPrintOrderItemTracking(string[] uplodedData, PrintOrderItemShippingParser parserObject, OrganizationRoleUser statusUpdatedBy) { var printOrderItemTracking = new PrintOrderItemTracking(); try { DateTime scheduledDeliveryDate; printOrderItemTracking.TrackingNumber = uplodedData[parserObject.TrackingNumber]; printOrderItemTracking.ShippingService = uplodedData[parserObject.Service]; printOrderItemTracking.ScheduledDeliveryDate = DateTime.TryParse(uplodedData[parserObject.ScheduledDelivery], out scheduledDeliveryDate) ? scheduledDeliveryDate : (DateTime?)null; printOrderItemTracking.ShipToName = uplodedData[parserObject.ShipToName]; printOrderItemTracking.ShipToAttentionOf = uplodedData[parserObject.ShipToAttention]; printOrderItemTracking.ShippedToAddress1 = uplodedData[parserObject.ShipToAddressLine1]; printOrderItemTracking.ShippedToAddress2 = uplodedData[parserObject.ShipToAddressLine2]; printOrderItemTracking.ShippedToCity = uplodedData[parserObject.ShipToCity]; printOrderItemTracking.ShippedToZip = uplodedData[parserObject.ShipToPostalCode]; printOrderItemTracking.ShippedToState = uplodedData[parserObject.ShipToStateProvince]; printOrderItemTracking.PackageReference1 = uplodedData[parserObject.PackageReferenceNo1]; printOrderItemTracking.PackageReference2 = uplodedData[parserObject.PackageReferenceNo2]; printOrderItemTracking.CreatedByOrgRoleUser = statusUpdatedBy; printOrderItemTracking.DateCreated = DateTime.Now; printOrderItemTracking.DateUpdated = DateTime.Now; printOrderItemTracking.UpdatedByOrgRoleUser = statusUpdatedBy; printOrderItemTracking.ConfirmationMode = null; } catch { } return(printOrderItemTracking); }
public void Save(PrintOrderItemTracking printOrderItemShipping) { var printOrderItemShippingEntity = _mapper.Map(printOrderItemShipping); using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { if (!adapter.SaveEntity(printOrderItemShippingEntity, false)) { throw new PersistenceFailureException(); } } }
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 OrderedPair <string, PrintOrderItemTracking> UpdatePrintOrderShipping(PrintOrderItemTracking printOrderItemShipping, ItemStatus itemStatus, OrganizationRoleUser statusUpdatedBy) { using (var myAdapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(myAdapter); try { printOrderItemShipping.PackageReference3 = printOrderItemShipping.PackageReference3.Trim(); var printOrderItemData = linqMetaData.MarketingPrintOrderItem. Join( linqMetaData.Coupons.Where( coupons => coupons.CouponCode == printOrderItemShipping.PackageReference3), printOrderItem => printOrderItem.SourceCodeId, coupons => coupons.CouponId, (printOrder, coupon) => new { printOrder }).Select(printOrder => printOrder.printOrder). Where(@t => @t.IsActive). FirstOrDefault(); var printOrderItemTrackingData = linqMetaData.PrintOrderItemTracking.Where( printOrderItemTracking => printOrderItemTracking.PackageReference3 == (printOrderItemShipping.PackageReference3) ).FirstOrDefault(); //ToDo: make one condition if (printOrderItemData != null) { var printOrderItemShippingRepository = new PrintOrderItemTrackingRepository(); printOrderItemShipping.PrintOrderItemId = printOrderItemData.MarketingPrintOrderItemId; printOrderItemShipping.PrintOrderItemShippingId = printOrderItemTrackingData != null ? printOrderItemTrackingData. PrintOrderItemShippingId : 0; //ToDo: check the status of printorderitem /// if ((printOrderItemTrackingData == null) || (!printOrderItemTrackingData.ConfirmationState)) if ((printOrderItemTrackingData == null || (printOrderItemData.Status != (long)ItemStatus.Confirmed))) { printOrderItemShippingRepository.Save(printOrderItemShipping); //ToDo:Update status in tblMarketingprintorderitem _printOrderItemReposistory.UpdatePrintOrderItemStatus( printOrderItemData.MarketingPrintOrderItemId, itemStatus); } else { return (new OrderedPair <string, PrintOrderItemTracking>( "Package Reference :" + printOrderItemShipping.PackageReference3 + " is already delivered and receipt is acknowledge by the " + printOrderItemShipping.ShipToAttentionOf, printOrderItemShipping)); } } else { return(new OrderedPair <string, PrintOrderItemTracking>("No Record found for Package Reference :" + printOrderItemShipping.PackageReference3, printOrderItemShipping)); } } catch (Exception) { return(new OrderedPair <string, PrintOrderItemTracking>("Database Error. Please contact.", printOrderItemShipping)); } return(null); } }
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); }