示例#1
0
        private Crop Map(CTP isoCropType)
        {
            var crop = new Crop();

            crop.Id.UniqueIds.Add(new UniqueId
            {
                Id         = Guid.NewGuid().ToString(),
                IdType     = IdTypeEnum.UUID,
                Source     = "http://www.deere.com",
                SourceType = IdSourceTypeEnum.URI
            });
            return(crop);
        }
示例#2
0
        private CTP Map(Crop crop, Dictionary <int, string> keyToIsoId, int cropIndex, Catalog setupCatalog)
        {
            var ctp = new CTP
            {
                B = crop.Name
            };

            ctp.A = ctp.GetIsoId(cropIndex);

            var cvts = setupCatalog.Products.Where(x => x is CropVariety).Cast <CropVariety>().Where(v => v.CropId == crop.Id.ReferenceId).Select(Map);

            var cvtArray = cvts as CVT[] ?? cvts.ToArray();

            if (cvtArray.Any())
            {
                ctp.Items = cvtArray.ToArray();
            }

            keyToIsoId.Add(crop.Id.ReferenceId, ctp.A);
            return(ctp);
        }
示例#3
0
        /// <summary>
        /// Builds ship bill notice.
        /// Original from http://www.bergware.net/bisacwww/857_3060.htm
        /// </summary>
        static TS857 BuildShipBillNotice(string controlNumber)
        {
            var result = new TS857();

            //  Transaction 857
            //  Set control number 12103
            result.ST = new ST();
            result.ST.TransactionSetIdentifierCode_01 = "857";
            result.ST.TransactionSetControlNumber_02  = controlNumber.PadLeft(9, '0');

            //  Hierarchical structure code 0001
            //  Original transaction set
            //  Ship date of 01 / 10 / 98
            result.BHT = new BHT();
            result.BHT.HierarchicalStructureCode_01 = "0001";
            result.BHT.TransactionSetPurposeCode_02 = "00";
            result.BHT.Date_04 = "980110";

            //  Repeating HL Loops
            result.HLLoop = new List <Loop_HL_857>();

            //  Begin HL Loop 1
            var hlLoop1 = new Loop_HL_857();

            //  Hierarchical level 1 shipment
            hlLoop1.HL = new HL();
            hlLoop1.HL.HierarchicalIDNumber_01  = "1";
            hlLoop1.HL.HierarchicalLevelCode_03 = "S";

            //  Begin G05 Loop 1
            hlLoop1.G05Loop = new Loop_G05_857();

            //  3 shipped units
            hlLoop1.G05Loop.G05 = new G05();
            hlLoop1.G05Loop.G05.NumberofUnitsShipped_01          = "3";
            hlLoop1.G05Loop.G05.UnitorBasisforMeasurementCode_02 = "UN";

            //  Repeating DTM
            hlLoop1.G05Loop.DTM = new List <DTM>();

            //  Ship date of
            //  01 / 10 / 98
            //  Century designation of 19
            var dtm1 = new DTM();

            dtm1.DateTimeQualifier_01 = "011";
            dtm1.Date_02 = "980110";
            dtm1.DateTimePeriodFormatQualifier_05 = "19";
            hlLoop1.G05Loop.DTM.Add(dtm1);

            //  Repeating N1 G05 Loops
            hlLoop1.G05Loop.N1Loop = new List <Loop_N1_857>();

            //  Begin N1 G05 Loop 1
            var n1Loop1 = new Loop_N1_857();

            //  Ship from
            //  SAN
            //  216793X
            n1Loop1.N1 = new N1();
            n1Loop1.N1.EntityIdentifierCode_01        = "SF";
            n1Loop1.N1.IdentificationCodeQualifier_03 = "15";
            n1Loop1.N1.IdentificationCode_04          = "216793X";

            //  End N1 G05 Loop 1
            hlLoop1.G05Loop.N1Loop.Add(n1Loop1);

            //  Begin N1 G05 Loop 2
            var n1Loop2 = new Loop_N1_857();

            //  Ship to
            //  SAN
            //  6678157
            n1Loop2.N1 = new N1();
            n1Loop2.N1.EntityIdentifierCode_01        = "ST";
            n1Loop2.N1.IdentificationCodeQualifier_03 = "15";
            n1Loop2.N1.IdentificationCode_04          = "6678157";

            //  End N1 G05 Loop 2
            hlLoop1.G05Loop.N1Loop.Add(n1Loop2);

            //  Begin N1 G05 Loop 3
            var n1Loop3 = new Loop_N1_857();

            //  Bill to
            //  SAN
            //  1135309
            n1Loop3.N1 = new N1();
            n1Loop3.N1.EntityIdentifierCode_01        = "BT";
            n1Loop3.N1.IdentificationCodeQualifier_03 = "15";
            n1Loop3.N1.IdentificationCode_04          = "1135309";

            //  End N1 G05 Loop 3
            hlLoop1.G05Loop.N1Loop.Add(n1Loop3);

            //  Begin N1 G05 Loop 4
            var n1Loop4 = new Loop_N1_857();

            //  Vendor
            //  SAN
            //  2002450
            n1Loop4.N1 = new N1();
            n1Loop4.N1.EntityIdentifierCode_01        = "VN";
            n1Loop4.N1.IdentificationCodeQualifier_03 = "15";
            n1Loop4.N1.IdentificationCode_04          = "2002450";

            //  End N1 G05 Loop 4
            hlLoop1.G05Loop.N1Loop.Add(n1Loop4);

            //  End G05 Loop 1

            //  End HL Loop 1
            result.HLLoop.Add(hlLoop1);

            //  Begin HL Loop 2
            var hlLoop2 = new Loop_HL_857();

            //  Hierarchical level 2 order
            hlLoop2.HL = new HL();
            hlLoop2.HL.HierarchicalIDNumber_01  = "2";
            hlLoop2.HL.HierarchicalLevelCode_03 = "O";

            //  Begin TDS Loop
            hlLoop2.TDSLoop = new Loop_TDS_857();

            //  Total invoice before discount
            //  is applied is $3,837.50
            //  Amount subject to Terms
            //  discount is $3,837.50
            //  Discounted amount due
            //  is $2,187.36
            hlLoop2.TDSLoop.TDS           = new TDS();
            hlLoop2.TDSLoop.TDS.Amount_01 = "383750";
            hlLoop2.TDSLoop.TDS.Amount_02 = "383750";
            hlLoop2.TDSLoop.TDS.Amount_03 = "218736";

            //  Purchase order number
            //  012323456789123
            //  Purchase order date
            //  of 01 / 06 / 98
            hlLoop2.TDSLoop.PRF = new PRF();
            hlLoop2.TDSLoop.PRF.PurchaseOrderNumber_01       = "0123456789123";
            hlLoop2.TDSLoop.PRF.ChangeOrderSequenceNumber_03 = "980106";

            //  End TDS Loop

            //  End HL Loop 2
            result.HLLoop.Add(hlLoop2);

            //  Begin HL Loop 3
            var hlLoop3 = new Loop_HL_857();

            //  Hierarchical level 3 pack
            hlLoop3.HL = new HL();
            hlLoop3.HL.HierarchicalIDNumber_01  = "3";
            hlLoop3.HL.HierarchicalLevelCode_03 = "P";

            //  Begin LX Loop
            hlLoop3.LXLoop = new Loop_LX_857();

            //  Loop start. Mandatory segment
            hlLoop3.LXLoop.LX = new LX();
            hlLoop3.LXLoop.LX.AssignedNumber_01 = "1";

            //  Repeating MAN
            hlLoop3.LXLoop.MAN = new List <MAN>();

            //  UCC/EAN-128 Serial shipping
            //  container code format.
            //  Marks and numbers used to
            //  identify the carton
            //  00097800006400000012
            var man1 = new MAN();

            man1.MarksandNumbersQualifier_01 = "GM";
            man1.MarksandNumbers_02          = "00097800006400000012";
            hlLoop3.LXLoop.MAN.Add(man1);

            //  End LX Loop

            //  End HL Loop 3
            result.HLLoop.Add(hlLoop3);

            //  Begin HL Loop 4
            var hlLoop4 = new Loop_HL_857();

            //  Hierarchical level 4 item
            hlLoop4.HL = new HL();
            hlLoop4.HL.HierarchicalIDNumber_01  = "4";
            hlLoop4.HL.HierarchicalLevelCode_03 = "I";

            //  Begin IT1 Loop
            hlLoop4.IT1Loop = new Loop_IT1_857();

            //  Line item 1
            //  Shipped 2
            //  units
            //  at $8.40
            //  for each unit
            //  ISBN
            //  0835201031
            hlLoop4.IT1Loop.IT1 = new IT1();
            hlLoop4.IT1Loop.IT1.AssignedIdentification_01        = "1";
            hlLoop4.IT1Loop.IT1.QuantityInvoiced_02              = "2";
            hlLoop4.IT1Loop.IT1.UnitorBasisforMeasurementCode_03 = "UN";
            hlLoop4.IT1Loop.IT1.UnitPrice_04                 = "8.4";
            hlLoop4.IT1Loop.IT1.BasisofUnitPriceCode_05      = "PE";
            hlLoop4.IT1Loop.IT1.ProductServiceIDQualifier_06 = "IB";
            hlLoop4.IT1Loop.IT1.ProductServiceID_07          = "0835201031";

            //  Repeating CTP
            hlLoop4.IT1Loop.CTP = new List <CTP>();

            //  Suggested list price of
            //  $10.50
            //  Discount
            //  multiplier of .8
            //  (100 % -80 % = 20 % discount)
            var ctp1 = new CTP();

            ctp1.PriceIdentifierCode_02      = "SLP";
            ctp1.UnitPrice_03                = "10.5";
            ctp1.PriceMultiplierQualifier_06 = "DIS";
            ctp1.Multiplier_07               = ".8";
            hlLoop4.IT1Loop.CTP.Add(ctp1);

            //  End IT1 Loop

            //  End HL Loop 4
            result.HLLoop.Add(hlLoop4);

            //  Begin HL Loop 5
            var hlLoop5 = new Loop_HL_857();

            //  Hierarchical level 5 item
            hlLoop5.HL = new HL();
            hlLoop5.HL.HierarchicalIDNumber_01  = "5";
            hlLoop5.HL.HierarchicalLevelCode_03 = "I";

            //  Begin IT1 Loop
            hlLoop5.IT1Loop = new Loop_IT1_857();

            //  Line item 2
            //  Shipped 1
            //  unit
            //  at $24.00
            //  per each unit
            //  ISBN
            //  0835208338
            hlLoop5.IT1Loop.IT1 = new IT1();
            hlLoop5.IT1Loop.IT1.AssignedIdentification_01        = "2";
            hlLoop5.IT1Loop.IT1.QuantityInvoiced_02              = "1";
            hlLoop5.IT1Loop.IT1.UnitorBasisforMeasurementCode_03 = "UN";
            hlLoop5.IT1Loop.IT1.UnitPrice_04                 = "24";
            hlLoop5.IT1Loop.IT1.BasisofUnitPriceCode_05      = "PE";
            hlLoop5.IT1Loop.IT1.ProductServiceIDQualifier_06 = "IB";
            hlLoop5.IT1Loop.IT1.ProductServiceID_07          = "0835208338";

            //  Repeating CTP
            hlLoop5.IT1Loop.CTP = new List <CTP>();

            //  Suggested list price of
            //  $30.00
            //  Discount
            //  multiplier of .8
            //  (100 % -80 % = 20 % discount)
            var ctp2 = new CTP();

            ctp2.PriceIdentifierCode_02      = "SLP";
            ctp2.UnitPrice_03                = "30";
            ctp2.PriceMultiplierQualifier_06 = "DIS";
            ctp2.Multiplier_07               = ".8";
            hlLoop5.IT1Loop.CTP.Add(ctp2);

            //  End IT1 Loop

            //  End HL Loop 5
            result.HLLoop.Add(hlLoop5);

            return(result);
        }
示例#4
0
        public override Task <CTPProxy> CTPUpdate(CTPProxy request, ServerCallContext context)
        {
            Scheduling.RunTask(() =>
            {
                // RowSte: Added, Modified, Deletede, Unchanged
                Db.Transact(() =>
                {
                    if (request.RowSte == "A")
                    {
                        CTP row = CRUDsHelper.FromProxy <CTPProxy, CTP>(request);
                        H.PPRD_TryInsert(row.PP, row.CC.Dnm);
                        request = CRUDsHelper.ToProxy <CTPProxy, CTP>(row);
                    }
                    else if (request.RowSte == "M")
                    {
                        // CC ve PP degistirilemez
                        var oRow = (CTP)Db.FromId(request.RowKey);
                        if (oRow.PP.GetObjectNo() != request.PP)
                        {
                            request.RowErr = "Oyuncu değiştiremezsiniz. Silip yenisini girin.";
                        }
                        else if (oRow.CC.GetObjectNo() != request.CC)
                        {
                            request.RowErr = "Turnuva değiştiremezsiniz. Silip yenisini girin.";
                        }

                        if (request.RowErr == string.Empty)
                        {
                            CTP row = CRUDsHelper.FromProxy <CTPProxy, CTP>(request);
                            H.PPRD_TryInsert(row.PP, row.CC.Dnm);
                            request = CRUDsHelper.ToProxy <CTPProxy, CTP>(row);
                        }
                    }
                    else if (request.RowSte == "D")
                    {
                        var row = Db.FromId(request.RowKey) as CTP;
                        if (row == null)
                        {
                            request.RowErr = "CTP Rec not found";
                        }
                        else  // Silinmesinde sakinca yok
                        {
                            PP pp   = row.PP;
                            int dnm = row.CC.Dnm;
                            row.Delete();
                            H.PPRD_TryDelete(pp, dnm);

                            /*
                             * var mac = Db.SQL<MAC>("select r from MAC r where r.CC = ? and (r.HPP1 = ? or r.HPP2 = ? or r.GPP1 = ? or r.GPP2 = ?)", row.CC, row.PP, row.PP, row.PP, row.PP).FirstOrDefault();
                             * if (mac != null)
                             *  request.RowErr = "MAC kaydı var. Silemezsiniz";
                             * else
                             * {
                             *  PP pp = row.PP;
                             *  int dnm = row.CC.Dnm;
                             *  row.Delete();
                             *  H.PPRD_TryDelete(pp, dnm);
                             * }*/
                        }
                    }
                });
            }).Wait();

            Session.RunTaskForAll((s, id) =>
            {
                s.CalculatePatchAndPushOnWebSocket();
            });

            return(Task.FromResult(request));
        }
示例#5
0
 public void Setup()
 {
     _ctp        = new CTP();
     _output     = new StringBuilder();
     _xmlBuilder = XmlWriter.Create(_output);
 }