Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public void Save(PrintOrderItemTracking printOrderItemShipping)
        {
            var printOrderItemShippingEntity = _mapper.Map(printOrderItemShipping);

            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                if (!adapter.SaveEntity(printOrderItemShippingEntity, false))
                {
                    throw new PersistenceFailureException();
                }
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
        }