Exemplo n.º 1
0
        private TRN ApplyTextureLine(TRN trn, Pair <double, double> upper, Pair <double, double> lower)
        {
            int xStart = (int)Math.Floor((Math.Min(upper.X, lower.X) - this.newInner) / Constants.TextureSpacing);
            int width  = (int)(4 * this.newInner * Math.Abs(upper.X - lower.X));

            int yStart = (int)Math.Floor((Math.Min(upper.Y, lower.Y) - this.newInner) / Constants.TextureSpacing);
            int height = (int)(4 * this.newInner * Math.Abs(upper.Y - lower.Y));

            Rectangle coverRectangle = new Rectangle(xStart, yStart, width, height);

            LineSegment lineSegment = new LineSegment(upper, lower);

            foreach (textureData texture in data.textures)
            {
                int i = 0;
                foreach (DDSGroup ddsGroup in trn.DDSGroups)
                {
                    //Check whether the DDSGroup contain parts of the rectangle that surrounds the triangle
                    int x = (i % trn.Width) * ddsGroup.Width;
                    int y = ((i - (i % trn.Width)) / trn.Width) * ddsGroup.Height;
                    i++;

                    ddsGroup.ApplyTextureAsNewChannel(x, y, texture, lineSegment, coverRectangle, this.newInner);
                }
            }

            return(trn);
        }
Exemplo n.º 2
0
        private TRN ApplyColourLine(TRN trn, Pair <double, double> upper, Pair <double, double> lower)
        {
            Random      ran         = new Random();
            int         coverage    = 0;
            LineSegment linesegment = new LineSegment(upper, lower);


            foreach (Vertex vertex in trn.Vertices)
            {
                Pair <double, double> point = new Pair <double, double>(vertex.Position[0], vertex.Position[1]);

                if ((upper.X <= point.X && point.X <= lower.X) && (upper.Y <= point.Y && point.Y <= lower.Y))
                {
                    if (linesegment.distance(point) <= Constants.VertexSpacing + newInner)
                    {
                        coverage = ran.Next(1, 100);
                        if (coverage <= data.colourCoverage)
                        {
                            vertex.Color = data.col;
                        }
                    }
                }
            }

            return(trn);
        }
Exemplo n.º 3
0
        public Boolean loadData(DataSet dat)
        {
            HMMSEntitiesDB trndb = new HMMSEntitiesDB();

            try
            {
                foreach (DataRow dr in dat.Tables[0].Rows)
                {
                    TRN localtrn = new TRN();
                    localtrn.Id                        = Guid.NewGuid();
                    localtrn.Received_Date             = Convert.IsDBNull(dr["Received Date"]) ? "" : dr["Received Date"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");
                    localtrn.Transfer_Date             = Convert.IsDBNull(dr["Transfer Date"]) ? "" : dr["Transfer Date"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");
                    localtrn.Transfer_From_Issue_Point = Convert.IsDBNull(dr["Transfer From Issue Point"]) ? "" : dr["Transfer From Issue Point"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");
                    localtrn.Receiving_Issue_Point     = Convert.IsDBNull(dr["Receiving Issue Point"]) ? "" : dr["Receiving Issue Point"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");
                    localtrn.Serial_Number             = Convert.IsDBNull(dr["Serial Number"]) ? "" : dr["Serial Number"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");
                    localtrn.Transfer_User_Logon       = Convert.IsDBNull(dr["Transfer User Logon"]) ? "" : dr["Transfer User Logon"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");
                    localtrn.Received_User_Logon       = Convert.IsDBNull(dr["Received User Logon"]) ? "" : dr["Received User Logon"].ToString().Trim().Replace(">", "GTN").Replace("<", "ltn").Replace("$", "pct").Replace(",", ";").Replace("\n", ";").Replace("\r", ";").Replace("\"", "");

                    trndb.TRNs.Add(localtrn);
                }
                trndb.SaveChanges();
            }
            catch (System.Data.Entity.Core.EntityException ee)
            {
                var msg = ee.Message;
                msg = ee.InnerException.Message;
                FileTypes.LogModel log = new FileTypes.LogModel();
                log.WriteLog("ERROR", msg);
                return(false);
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException e)
            {
                {
                    string msg;
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        msg = "Entity of type \"{0}\" in state \"{1}\" has the following validation errors:" + eve.Entry.Entity.GetType().Name + ":" + eve.Entry.State;
                        foreach (var ve in eve.ValidationErrors)
                        {
                            msg = "- Property: \"{0}\", Error: \"{1}\"" + ve.PropertyName + ":" + ve.ErrorMessage;
                            FileTypes.LogModel log = new FileTypes.LogModel();
                            log.WriteLog("ERROR", msg);
                        }
                    }
                    return(false);
                }
            }
            finally
            {
                trndb.Dispose();
            }
            return(true);
        }
Exemplo n.º 4
0
        /// <summary>
        /// The method that calls the colour and texture methods
        /// </summary>
        /// <param name="area">The area we want to change</param>
        /// <param name="trn">The TRN data that we is going to modify</param>
        /// <param name="triangle">The Triangle we want to paint inside</param>
        /// <param name="upper">The left upper point of the rectangle that contains triangle</param>
        /// <param name="lower">The right lower point of the rectangle that contains triangle</param>
        /// <returns></returns>
        public TRN ApplyTriangle(NWN2Toolset.NWN2.Data.NWN2GameArea area, TRN trn, Triangle triangle, Pair <double, double> upper, Pair <double, double> lower, Random ran)
        {
            if (data.colourOption == colourOption.Colour)
            {
                trn = ApplyColourTriangle(trn, triangle, upper, lower, ran);
            }

            //texturemaps
            trn = ApplyTextureTriangle(trn, triangle, upper, lower, ran);

            return(trn);
        }
Exemplo n.º 5
0
        private TRN ApplyLine(NWN2Toolset.NWN2.Data.NWN2GameArea area, TRN trn, Pair <double, double> upper, Pair <double, double> lower)
        {
            if (data.colourOption == colourOption.Colour)
            {
                trn = ApplyColourLine(trn, upper, lower);
            }

            //texturemaps
            trn = ApplyTextureLine(trn, upper, lower);

            return(trn);
        }
Exemplo n.º 6
0
        /// <summary>
        /// The method that uses the texture the inside of the triangle
        /// </summary>
        /// <param name="trn">The TRN data that we is going to modify</param>
        /// <param name="triangle">The Triangle we want to paint inside</param>
        /// <param name="upper">The left upper point of the rectangle that contains triangle</param>
        /// <param name="lower">The right lower point of the rectangle that contains triangle</param>
        /// <returns></returns>
        public TRN ApplyTextureTriangle(TRN trn, Triangle triangle, Pair <double, double> upper, Pair <double, double> lower, Random ran)
        {
            Rectangle coverRectangle = new Rectangle((int)Math.Floor(upper.X / Constants.TextureSpacing), (int)Math.Floor(upper.Y / Constants.TextureSpacing),
                                                     (int)Math.Ceiling((lower.X - upper.X) / Constants.TextureSpacing), (int)Math.Ceiling((lower.Y - upper.Y) / Constants.TextureSpacing));

            foreach (textureData texture in data.textures)
            {
                int i = 0;
                foreach (DDSGroup ddsGroup in trn.DDSGroups)
                {
                    //Check whether the DDSGroup contain parts of the rectangle that surrounds the triangle
                    int x = (i % trn.Width) * ddsGroup.Width;
                    int y = ((i - (i % trn.Width)) / trn.Width) * ddsGroup.Height;
                    i++;

                    ddsGroup.ApplyTextureAsNewChannel(x, y, texture, triangle, coverRectangle, ran);
                }
            }
            return(trn);
        }
Exemplo n.º 7
0
        /// <summary>
        /// The method that colours the inside of the triangle
        /// </summary>
        /// <param name="trn">The TRN data that we is going to modify</param>
        /// <param name="triangle">The Triangle we want to paint inside</param>
        /// <param name="upper">The left upper point of the rectangle that contains triangle</param>
        /// <param name="lower">The right lower point of the rectangle that contains triangle</param>
        /// <returns>The changed TRN data</returns>
        public TRN ApplyColourTriangle(TRN trn, Triangle triangle, Pair <double, double> upper, Pair <double, double> lower, Random ran)
        {
            int coverage = 0;

            foreach (Vertex vertex in trn.Vertices)
            {
                float x = vertex.Position[0];
                float y = vertex.Position[1];


                if ((upper.X <= x && x <= lower.X) && (upper.Y <= y && y <= lower.Y))
                {
                    if (triangle.insideTriangle(new Pair <double, double>(x, y)))
                    {
                        coverage = ran.Next(1, 100);
                        if (coverage <= data.colourCoverage)
                        {
                            vertex.Color = data.col;
                        }
                    }
                }
            }
            return(trn);
        }
Exemplo n.º 8
0
        private void StartMigration()
        {
            CompanyMaster        companyMaster        = new CompanyMaster();
            ItemMaster           itemMaster           = new ItemMaster();
            PersonRouteMaster    personRouteMaster    = new PersonRouteMaster();
            PersonalLedgerMaster personalLedgerMaster = new PersonalLedgerMaster();
            AccountLedgerMaster  accountLedgerMaster  = new AccountLedgerMaster();
            SupplierLedgerMaster supplierLedgerMaster = new SupplierLedgerMaster();
            CustomerLedgerMaster customerLedgerMaster = new CustomerLedgerMaster();
            BillOutstanding      billOutstanding      = new BillOutstanding();
            FIFO fifo = new FIFO();
            PurchaseSaleBookHeaderMigration   purchaseSaleBookHeaderMigration   = new PurchaseSaleBookHeaderMigration();
            PurchaseSaleBookLineItemMigration purchaseSaleBookLineItemMigration = new PurchaseSaleBookLineItemMigration();
            TRN trn = new TRN();
            ReceiptPaymentMigration receiptPayment = new ReceiptPaymentMigration();
            BillOutStandingsAudjustmentMigration billOsAdjustment = new BillOutStandingsAudjustmentMigration();


            int result   = 0;
            int rowIndex = 0;

            SetProcessingText(grdDataMigration, "Company Master", rowIndex, "Processing", result, true);
            result = companyMaster.InsertCompanyMasterData();
            SetProcessingText(grdDataMigration, "Company Master", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "ASM", rowIndex, "Processing", result, true);
            result = personRouteMaster.InsertASMData();
            SetProcessingText(grdDataMigration, "ASM", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "RSM", rowIndex, "Processing", result, true);
            result = personRouteMaster.InsertRSMData();
            SetProcessingText(grdDataMigration, "RSM", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "ZSM", rowIndex, "Processing", result, true);
            result = personRouteMaster.InsertZSMData();
            SetProcessingText(grdDataMigration, "ZSM", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Sales Man", rowIndex, "Processing", result, true);
            result = personRouteMaster.InsertSalesManData();
            SetProcessingText(grdDataMigration, "Sales Man", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Area", rowIndex, "Processing", result, true);
            result = personRouteMaster.InsertAreaData();
            SetProcessingText(grdDataMigration, "Area", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Route", rowIndex, "Processing", result, true);
            result = personRouteMaster.InsertRouteData();
            SetProcessingText(grdDataMigration, "Route", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Personal Ledger", rowIndex, "Processing", result, true);
            result = personalLedgerMaster.InsertPersonalLedgerMasterData();
            SetProcessingText(grdDataMigration, "Personal Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Control Codes", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertControlCodesData();
            SetProcessingText(grdDataMigration, "Control Codes", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Income Ledger", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertIncomeLedgerData();
            SetProcessingText(grdDataMigration, "Income Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Expenditure Ledger", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertExpenditureLedgerData();
            SetProcessingText(grdDataMigration, "Expenditure Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Transaction Ledger", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertTransactionLedgerData();
            SetProcessingText(grdDataMigration, "Transaction Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "General Ledger", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertGeneralLedgerData();
            SetProcessingText(grdDataMigration, "General Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Purchase Ledger", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertPurchaseLedgerData();
            SetProcessingText(grdDataMigration, "Purchase Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Sale Ledger", rowIndex, "Processing", result, true);
            result = accountLedgerMaster.InsertSaleLedgerData();
            SetProcessingText(grdDataMigration, "Sale Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Item Master", rowIndex, "Processing", result, true);
            result = itemMaster.InsertItemMasterData();
            SetProcessingText(grdDataMigration, "Item Master", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Supplier Ledger", rowIndex, "Processing", result, true);
            result = supplierLedgerMaster.InsertSupplierLedgerMasterData();
            SetProcessingText(grdDataMigration, "Supplier Ledger", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Customer Ledger", rowIndex, "Processing", result, true);
            result = customerLedgerMaster.InsertCustomerLedgerMasterData(); //confirm mapping columns for columns having comments in CustomerLedgerMaster
            SetProcessingText(grdDataMigration, "Customer Ledger", rowIndex, "Completed", result, false);

            //result = 0;
            //rowIndex += 1;
            //SetProcessingText(grdDataMigration, "Customer Compnay Discount Ref", rowIndex, "Processing", result, true);
            //result = customerLedgerMaster.InsertCustomerCompanyReferenceData();
            //SetProcessingText(grdDataMigration, "Customer Compnay Discount Ref", rowIndex, "Completed", result, false);

            //result = 0;
            //rowIndex += 1;
            //SetProcessingText(grdDataMigration, "Suppiier Compnay Discount Ref", rowIndex, "Processing", result, true);
            //result = supplierLedgerMaster.InsertSupplierCompanyReferenceData();
            //SetProcessingText(grdDataMigration, "Suppiier Compnay Discount Ref", rowIndex, "Completed", result, false);

            /*------------------------------------------------------------*/

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "PurchaseSaleBookHeaderData", rowIndex, "Processing", result, true);
            result = purchaseSaleBookHeaderMigration.InsertPurchaseSaleBookHeaderData();
            SetProcessingText(grdDataMigration, "PurchaseSaleBookHeaderData", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "PurchaseSaleBookLineItemData", rowIndex, "Processing", result, true);
            result = purchaseSaleBookLineItemMigration.InsertPurchaseSaleBookLineItemData();
            SetProcessingText(grdDataMigration, "PurchaseSaleBookLineItemData", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Fifo", rowIndex, "Processing", result, true);
            result = fifo.InsertFIFOData();
            SetProcessingText(grdDataMigration, "Fifo", rowIndex, "Completed", result, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "Bill Outstanding", rowIndex, "Processing", result, true);
            result = billOutstanding.InsertBillOutstandingData();
            SetProcessingText(grdDataMigration, "Bill Outstanding", rowIndex, "Completed", result, false);


            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "TRN", rowIndex, "Processing", result, true);
            trn.InsertTRNData();
            SetProcessingText(grdDataMigration, "TRN", rowIndex, "Completed", 0, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "ReceiptPayment", rowIndex, "Processing", result, true);
            result = receiptPayment.InsertReceiptPaymentData();
            SetProcessingText(grdDataMigration, "ReceiptPayment", rowIndex, "Completed", 0, false);

            result    = 0;
            rowIndex += 1;
            SetProcessingText(grdDataMigration, "BillOutStandingsAudjustment", rowIndex, "Processing", result, true);
            result = billOsAdjustment.InsertBillOutStandingsAudjustmentData();
            SetProcessingText(grdDataMigration, "BillOutStandingsAudjustment", rowIndex, "Completed", 0, false);

            /* ---------------------------------------  ---------------------------------------*/

            MessageBox.Show("Process Completed");
        }
        public EDI835SchemaModel ParseEDI835(string fileText)
        {
            bool   payerSeg     = false;
            bool   payeeSeg     = false;
            string claimSegment = string.Empty;
            string segmentValue = string.Empty;

            string[] ediTextArray         = fileText.Split("~");
            CLP      clp                  = null;
            SVC      svc                  = null;
            bool     findNextCLP          = false;
            bool     isServiceLineVisited = false;

            foreach (string stringSegment in ediTextArray)
            {
                string[] segmentArray = stringSegment.Split("*");
                if (segmentArray != null)
                {
                    IEnumerable <string> values = Enum.GetValues(typeof(EDI835Segments))
                                                  .OfType <EDI835Segments>()
                                                  .Select(s => Convert.ToString(s));

                    if (values.Contains(segmentArray[0].TrimStart()))
                    {
                        if (segmentArray[0].TrimStart() != "CLP" && findNextCLP == true)
                        {
                            continue;
                        }
                        //else continue;
                        segmentValue = segmentArray[0].TrimStart();
                        if (claimSegment == "CLP")
                        {
                            segmentValue = "CLP";
                        }
                        switch (segmentValue)
                        {
                        case "ISA":
                        {
                            ISA ISA = GetSegmentInfo <ISA>(new ISA(), segmentArray);
                            ediSchemaModel.ISA = ISA;
                            break;
                        }

                        case "GS":
                        {
                            GS GS = GetSegmentInfo <GS>(new GS(), segmentArray);
                            ediSchemaModel.GS = GS;
                            break;
                        }

                        case "ST":
                        {
                            ST ST = GetSegmentInfo <ST>(new ST(), segmentArray);
                            ediSchemaModel.ST = ST;
                            break;
                        }

                        case "BPR":
                        {
                            BPR BPR = GetSegmentInfo <BPR>(new BPR(), segmentArray);
                            ediSchemaModel.BPR = BPR;
                            break;
                        }

                        case "TRN":
                        {
                            TRN TRN = GetSegmentInfo <TRN>(new TRN(), segmentArray);
                            ediSchemaModel.TRN = TRN;
                            break;
                        }

                        case "DTM":
                        {
                            DTM DTM = GetSegmentInfo <DTM>(new DTM(), segmentArray);
                            ediSchemaModel.DTM = DTM;
                            break;
                        }

                        case "N1":
                        {
                            if (segmentArray[1] == "PR")
                            {
                                N1 N1 = GetSegmentInfo <N1>(new N1(), segmentArray);
                                ediSchemaModel.PayerInfo = N1;
                                payerSeg = true;
                            }
                            else if (segmentArray[1] == "PE")
                            {
                                N1 N1 = GetSegmentInfo <N1>(new N1(), segmentArray);
                                ediSchemaModel.PayeeInfo = N1;
                                payeeSeg = true;
                            }
                            break;
                        }

                        case "N3":
                        {
                            if (payerSeg)
                            {
                                N3 N3 = GetSegmentInfo <N3>(new N3(), segmentArray);
                                ediSchemaModel.PayerAddress = N3;
                            }
                            else if (payeeSeg)
                            {
                                N3 N3 = GetSegmentInfo <N3>(new N3(), segmentArray);
                                ediSchemaModel.PayeeAddress = N3;
                            }

                            break;
                        }

                        case "N4":
                        {
                            if (payerSeg)
                            {
                                N4 N4 = GetSegmentInfo <N4>(new N4(), segmentArray);
                                ediSchemaModel.PayerCityStateZip = N4;
                                payerSeg = false;
                            }
                            else if (payeeSeg)
                            {
                                N4 N4 = GetSegmentInfo <N4>(new N4(), segmentArray);
                                ediSchemaModel.PayeeCityStateZip = N4;
                                payeeSeg = false;
                            }
                            break;
                        }

                        case "CLP":
                        {
                            claimSegment = "CLP";
                            switch (segmentArray[0].TrimStart())
                            {
                            case "CLP":
                            {
                                findNextCLP = false;
                                if (clp != null)
                                {
                                    ediSchemaModel.CLPList.Add(clp);
                                    isServiceLineVisited = false;
                                    clp = null;
                                }
                                clp = GetSegmentInfo <CLP>(new CLP(), segmentArray);
                                break;
                            }

                            case "SVC":
                            {
                                //if (svc != null)
                                //{
                                //    if (clp.SVCList == null) clp.SVCList = new List<SVC>();
                                //    clp.SVCList.Add(svc);
                                //    svc = null;
                                //}
                                svc = GetSegmentInfo <SVC>(new SVC(), segmentArray);
                                if (clp != null && clp.SVCList == null)
                                {
                                    clp.SVCList = new List <SVC>();
                                }

                                clp.SVCList.Add(svc);
                                isServiceLineVisited = true;
                                break;
                            }

                            case "CAS":
                            {
                                if (isServiceLineVisited)
                                {
                                    CAS CAS = GetSegmentInfo <CAS>(new CAS(), segmentArray);
                                    if (svc.SVCAdjList == null)
                                    {
                                        svc.SVCAdjList = new List <CAS>();
                                    }
                                    svc.SVCAdjList.Add(CAS);
                                    CAS = null;
                                }
                                break;
                            }

                            case "REF":
                            {
                                if (segmentArray[1].Trim() == "6R" && svc != null && svc.REF == null)
                                {
                                    svc.REF = new REF();
                                    svc.REF = GetSegmentInfo <REF>(new REF(), segmentArray);
                                }
                                break;
                            }

                            case "GE":
                            {
                                if (clp != null)
                                {
                                    ediSchemaModel.CLPList.Add(clp);
                                    isServiceLineVisited = false;
                                    clp         = null;
                                    findNextCLP = true;
                                }
                                break;
                            }

                            default:
                            {
                                break;
                            }
                            }
                            break;
                        }
                        }
                    }
                }
            }
            return(ediSchemaModel);
        }
Exemplo n.º 10
0
        static void Main()
        {
            #region TableRecordCounts

            Handle.GET("/OynSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from OYN o").First;
                return(nor.ToString());
            });

            Handle.GET("/TkmSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from TKM o").First;
                return(nor.ToString());
            });

            Handle.GET("/TrnSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from TRN o").First;
                return(nor.ToString());
            });

            Handle.GET("/TrnOynSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from TRNOYN o").First;
                return(nor.ToString());
            });

            Handle.GET("/TrnTkmSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from TRNTKM o").First;
                return(nor.ToString());
            });

            Handle.GET("/TrnTkmOynSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from TRNTKMOYN o").First;
                return(nor.ToString());
            });

            Handle.GET("/MsbSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from MSB o").First;
                return(nor.ToString());
            });

            Handle.GET("/MacSay", () =>
            {
                var nor = Db.SQL <long>("select count(o) from MAC o").First;
                return(nor.ToString());
            });

            #endregion

            #region WebSocketUpgrade

            Handle.GET("/wsOynConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsOyn");
                    Console.WriteLine("wsOyn Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsTkmConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsTkm");
                    Console.WriteLine("wsTkm Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsTrnConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsTrn");
                    Console.WriteLine("wsTrn Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsTrnOynConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsTrnOyn");
                    Console.WriteLine("wsTrnOyn Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsTrnTkmConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsTrnTkm");
                    Console.WriteLine("wsTrnTkm Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsTrnTkmOynConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsTrnTkmOyn");
                    Console.WriteLine("wsTrnTkmOyn Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsMsbConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsMsb");
                    Console.WriteLine("wsMsb Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            Handle.GET("/wsMacConnect", (Request req) =>
            {
                if (req.WebSocketUpgrade)
                {
                    req.SendUpgrade("wsMac");
                    Console.WriteLine("wsMac Connected {0}", DateTime.Now);
                    return(HandlerStatus.Handled);
                }

                return(new Response()
                {
                    StatusCode = 500,
                    StatusDescription = "WebSocket upgrade on " + req.Uri + " was not approved."
                });
            });

            #endregion

            #region WebSocket Receiver

            Handle.WebSocket("wsOyn", (String s, WebSocket ws) =>
            {
                OynJson jsn = new OynJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from PPDB.OYN o").First;

                    var oyn = Db.SQL <OYN>("select o from OYN o");
                    foreach (var obj in oyn)
                    {
                        jsn.NOR = nor--;
                        jsn.ID  = (long)obj.GetObjectNo();
                        jsn.Ad  = obj.Ad;
                        jsn.Sex = obj.Sex;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new OYN()
                            {
                                Ad  = jsn.Ad,
                                Sex = jsn.Sex
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (OYN)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Ad  = jsn.Ad;
                                obj.Sex = jsn.Sex;
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsTkm", (String s, WebSocket ws) =>
            {
                TkmJson jsn = new TkmJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from PPDB.TKM o").First;

                    var tkm = Db.SQL <TKM>("select o from TKM o");
                    foreach (var obj in tkm)
                    {
                        jsn.NOR = nor--;
                        jsn.ID  = (long)obj.GetObjectNo();
                        jsn.Ad  = obj.Ad;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new TKM()
                            {
                                Ad = jsn.Ad
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (TKM)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Ad = jsn.Ad;
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsTrn", (String s, WebSocket ws) =>
            {
                TrnJson jsn = new TrnJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from PPDB.TRN o").First;

                    var trn = Db.SQL <TRN>("select o from TRN o");
                    foreach (var obj in trn)
                    {
                        jsn.NOR   = nor--;
                        jsn.ID    = (long)obj.GetObjectNo();
                        jsn.Ad    = obj.Ad;
                        jsn.Tarih = obj.Tarih;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new TRN()
                            {
                                Ad = jsn.Ad
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (TRN)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Ad  = jsn.Ad;
                                obj.Trh = DateTime.Parse(jsn.Tarih);
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsTrnOyn", (String s, WebSocket ws) =>
            {
                TrnOynJson jsn = new TrnOynJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from TRNOYN o").First;

                    var trn = Db.SQL <TRNOYN>("select o from TRNOYN o");
                    foreach (var obj in trn)
                    {
                        jsn.NOR   = nor--;
                        jsn.ID    = (long)obj.GetObjectNo();
                        jsn.TrnID = (long)obj.Trn.GetObjectNo();
                        jsn.OynID = (long)obj.Oyn.GetObjectNo();

                        jsn.SrtNo = obj.SrtNo;

                        jsn.MacOS = obj.MacOS;
                        jsn.MacAS = obj.MacAS;
                        jsn.MacVS = obj.MacVS;
                        jsn.MacOD = obj.MacOD;
                        jsn.MacAD = obj.MacAD;
                        jsn.MacVD = obj.MacVD;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new TRNOYN()
                            {
                                Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID),
                                Oyn = (OYN)DbHelper.FromID((ulong)jsn.OynID),

                                SrtNo = (short)jsn.SrtNo,

                                MacOS = (short)jsn.MacOS,
                                MacAS = (short)jsn.MacAS,
                                MacVS = (short)jsn.MacVS,
                                MacOD = (short)jsn.MacOD,
                                MacAD = (short)jsn.MacAD,
                                MacVD = (short)jsn.MacVD,
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (TRNOYN)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID);
                                obj.Oyn = (OYN)DbHelper.FromID((ulong)jsn.OynID);

                                obj.SrtNo = (short)jsn.SrtNo;

                                obj.MacOS = (short)jsn.MacOS;
                                obj.MacAS = (short)jsn.MacAS;
                                obj.MacVS = (short)jsn.MacVS;
                                obj.MacOD = (short)jsn.MacOD;
                                obj.MacAD = (short)jsn.MacAD;
                                obj.MacVD = (short)jsn.MacVD;
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsTrnTkm", (String s, WebSocket ws) =>
            {
                TrnTkmJson jsn = new TrnTkmJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from TRNTKM o").First;

                    var trn = Db.SQL <TRNTKM>("select o from TRNTKM o");
                    foreach (var obj in trn)
                    {
                        jsn.NOR   = nor--;
                        jsn.ID    = (long)obj.GetObjectNo();
                        jsn.TrnID = (long)obj.Trn.GetObjectNo();
                        jsn.TkmID = (long)obj.Tkm.GetObjectNo();

                        jsn.MsbO  = obj.MsbO;
                        jsn.MsbA  = obj.MsbA;
                        jsn.MsbV  = obj.MsbV;
                        jsn.MsbB  = obj.MsbB;
                        jsn.MsbPA = obj.MsbPA;
                        jsn.MsbPV = obj.MsbPV;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new TRNTKM()
                            {
                                Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID),
                                Tkm = (TKM)DbHelper.FromID((ulong)jsn.TkmID),

                                MsbO  = (short)jsn.MsbO,
                                MsbA  = (short)jsn.MsbA,
                                MsbV  = (short)jsn.MsbV,
                                MsbB  = (short)jsn.MsbB,
                                MsbPA = (short)jsn.MsbPA,
                                MsbPV = (short)jsn.MsbPV,
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (TRNTKM)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID);
                                obj.Tkm = (TKM)DbHelper.FromID((ulong)jsn.TkmID);

                                obj.MsbO  = (short)jsn.MsbO;
                                obj.MsbA  = (short)jsn.MsbA;
                                obj.MsbV  = (short)jsn.MsbV;
                                obj.MsbB  = (short)jsn.MsbB;
                                obj.MsbPA = (short)jsn.MsbPA;
                                obj.MsbPV = (short)jsn.MsbPV;
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsTrnTkmOyn", (String s, WebSocket ws) =>
            {
                TrnTkmOynJson jsn = new TrnTkmOynJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from TRNTKMOYN o").First;

                    var trn = Db.SQL <TRNTKMOYN>("select o from TRNTKM o");
                    foreach (var obj in trn)
                    {
                        jsn.NOR   = nor--;
                        jsn.ID    = (long)obj.GetObjectNo();
                        jsn.TrnID = (long)obj.Trn.GetObjectNo();
                        jsn.TkmID = (long)obj.Tkm.GetObjectNo();
                        jsn.OynID = (long)obj.Oyn.GetObjectNo();

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new TRNTKMOYN()
                            {
                                Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID),
                                Tkm = (TKM)DbHelper.FromID((ulong)jsn.TkmID),
                                Oyn = (OYN)DbHelper.FromID((ulong)jsn.OynID),
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (TRNTKMOYN)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID);
                                obj.Tkm = (TKM)DbHelper.FromID((ulong)jsn.TkmID);
                                obj.Oyn = (OYN)DbHelper.FromID((ulong)jsn.OynID);
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsMsb", (String s, WebSocket ws) =>
            {
                MsbJson jsn = new MsbJson();
                jsn.PopulateFromJson(s);

                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from PPDB.MSB o").First;

                    var msb = Db.SQL <MSB>("select o from MSB o");
                    foreach (var obj in msb)
                    {
                        jsn.NOR = nor--;
                        jsn.ID  = (long)obj.GetObjectNo();

                        jsn.Tarih = obj.Tarih;
                        jsn.TrnID = (long)obj.Trn.GetObjectNo();

                        jsn.Skl = obj.Skl;
                        jsn.Ktg = obj.Ktg;
                        jsn.Rnd = obj.Rnd;
                        jsn.Grp = obj.Grp;

                        jsn.HTkmID = (long)obj.HTkm.GetObjectNo();
                        jsn.GTkmID = (long)obj.GTkm.GetObjectNo();

                        jsn.HTP   = obj.HTP;
                        jsn.GTP   = obj.GTP;
                        jsn.HTMP  = obj.HTMP;
                        jsn.GTMP  = obj.GTMP;
                        jsn.HTMAS = obj.HTMAS;
                        jsn.HTMAD = obj.HTMAD;
                        jsn.GTMAS = obj.GTMAS;
                        jsn.GTMAD = obj.GTMAD;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new MSB()
                            {
                                Trh = DateTime.Parse(jsn.Tarih),

                                Trn  = (TRN)DbHelper.FromID((ulong)jsn.TrnID),
                                HTkm = (TKM)DbHelper.FromID((ulong)jsn.HTkmID),
                                GTkm = (TKM)DbHelper.FromID((ulong)jsn.GTkmID),
                                Skl  = jsn.Skl,
                                Ktg  = jsn.Ktg,
                                Rnd  = jsn.Rnd,
                                Grp  = jsn.Grp,

                                HTP   = (short)jsn.HTP,
                                GTP   = (short)jsn.GTP,
                                HTMP  = (short)jsn.HTMP,
                                GTMP  = (short)jsn.GTMP,
                                HTMAS = (short)jsn.HTMAS,
                                HTMAD = (short)jsn.HTMAD,
                                GTMAS = (short)jsn.GTMAS,
                                GTMAD = (short)jsn.GTMAD,
                            };
                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (MSB)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Trh  = DateTime.Parse(jsn.Tarih);
                                obj.Trn  = (TRN)DbHelper.FromID((ulong)jsn.TrnID);
                                obj.HTkm = (TKM)DbHelper.FromID((ulong)jsn.HTkmID);
                                obj.GTkm = (TKM)DbHelper.FromID((ulong)jsn.GTkmID);
                                obj.Skl  = jsn.Skl;
                                obj.Ktg  = jsn.Ktg;
                                obj.Rnd  = jsn.Rnd;
                                obj.Grp  = jsn.Grp;

                                obj.HTP   = (short)jsn.HTP;
                                obj.GTP   = (short)jsn.GTP;
                                obj.HTMP  = (short)jsn.HTMP;
                                obj.GTMP  = (short)jsn.GTMP;
                                obj.HTMAS = (short)jsn.HTMAS;
                                obj.HTMAD = (short)jsn.HTMAD;
                                obj.GTMAS = (short)jsn.GTMAS;
                                obj.GTMAD = (short)jsn.GTMAD;
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            Handle.WebSocket("wsMac", (String s, WebSocket ws) =>
            {
                MacJson jsn = new MacJson();
                jsn.PopulateFromJson(s);

                for (int i = 0; i < 1; i++)
                {
                    //ws.Send(jsn.ToJson());
                }
                if (jsn.PutGet == "G")
                {
                    var nor = Db.SQL <long>("select count(o) from PPDB.MAC o").First;

                    var mac = Db.SQL <MAC>("select o from PPDB.MAC o");
                    foreach (var obj in mac)
                    {
                        jsn.NOR   = nor--;
                        jsn.ID    = (long)obj.GetObjectNo();
                        jsn.TrnID = (long)obj.Trn.GetObjectNo();
                        jsn.MsbID = (long)obj.Msb.GetObjectNo();

                        jsn.HOyn1ID = obj.HOyn1 == null ? 0 : (long)obj.HOyn1.GetObjectNo();
                        jsn.HOyn2ID = obj.HOyn2 == null ? 0 : (long)obj.HOyn2.GetObjectNo();
                        jsn.GOyn1ID = obj.GOyn1 == null ? 0 : (long)obj.GOyn1.GetObjectNo();
                        jsn.GOyn2ID = obj.GOyn2 == null ? 0 : (long)obj.GOyn2.GetObjectNo();

                        jsn.Ktg = obj.Ktg;
                        jsn.Sra = obj.Sra;

                        jsn.S1HP = obj.S1HP;
                        jsn.S1GP = obj.S1GP;
                        jsn.S2HP = obj.S2HP;
                        jsn.S2GP = obj.S2GP;
                        jsn.S3HP = obj.S3HP;
                        jsn.S3GP = obj.S3GP;
                        jsn.S4HP = obj.S4HP;
                        jsn.S4GP = obj.S4GP;
                        jsn.S5HP = obj.S5HP;
                        jsn.S5GP = obj.S5GP;
                        jsn.S6HP = obj.S6HP;
                        jsn.S6GP = obj.S6GP;
                        jsn.S7HP = obj.S7HP;
                        jsn.S7GP = obj.S7GP;

                        jsn.HS = obj.HS;
                        jsn.GS = obj.GS;
                        jsn.HP = obj.HP;
                        jsn.GP = obj.GP;

                        ws.Send(jsn.ToJson());
                    }
                }
                else if (jsn.PutGet == "P")
                {
                    Db.Transact(() =>
                    {
                        if (jsn.ID < 0)
                        {
                            var obj = new MAC()
                            {
                                Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID),
                                Msb = (MSB)DbHelper.FromID((ulong)jsn.MsbID),

                                HOyn1 = (OYN)DbHelper.FromID((ulong)jsn.HOyn1ID),
                                HOyn2 = (OYN)DbHelper.FromID((ulong)jsn.HOyn2ID),
                                GOyn1 = (OYN)DbHelper.FromID((ulong)jsn.GOyn1ID),
                                GOyn2 = (OYN)DbHelper.FromID((ulong)jsn.GOyn2ID),

                                Ktg = jsn.Ktg,
                                Sra = (short)jsn.Sra,

                                S1HP = (short)jsn.S1HP,
                                S1GP = (short)jsn.S1GP,
                                S2HP = (short)jsn.S2HP,
                                S2GP = (short)jsn.S2GP,
                                S3HP = (short)jsn.S3HP,
                                S3GP = (short)jsn.S3GP,
                                S4HP = (short)jsn.S4HP,
                                S4GP = (short)jsn.S4GP,
                                S5HP = (short)jsn.S5HP,
                                S5GP = (short)jsn.S5GP,
                                S6HP = (short)jsn.S6HP,
                                S6GP = (short)jsn.S6GP,
                                S7HP = (short)jsn.S7HP,
                                S7GP = (short)jsn.S7GP,

                                HS = (short)jsn.HS,
                                GS = (short)jsn.GS,
                                HP = (short)jsn.HP,
                                GP = (short)jsn.GP,
                            };

                            jsn.NewID = (long)obj.GetObjectNo();
                        }
                        else
                        {
                            var obj = (MAC)DbHelper.FromID((ulong)jsn.ID);
                            if (jsn.Stu == "D")
                            {
                                obj.Delete();
                            }
                            else
                            {
                                obj.Trn = (TRN)DbHelper.FromID((ulong)jsn.TrnID);
                                obj.Msb = (MSB)DbHelper.FromID((ulong)jsn.MsbID);

                                obj.HOyn1 = (OYN)DbHelper.FromID((ulong)jsn.HOyn1ID);
                                obj.HOyn2 = (OYN)DbHelper.FromID((ulong)jsn.HOyn2ID);
                                obj.GOyn1 = (OYN)DbHelper.FromID((ulong)jsn.GOyn1ID);
                                obj.GOyn2 = (OYN)DbHelper.FromID((ulong)jsn.GOyn2ID);

                                obj.Ktg = jsn.Ktg;
                                obj.Sra = (short)jsn.Sra;

                                obj.S1HP = (short)jsn.S1HP;
                                obj.S1GP = (short)jsn.S1GP;
                                obj.S2HP = (short)jsn.S2HP;
                                obj.S2GP = (short)jsn.S2GP;
                                obj.S3HP = (short)jsn.S3HP;
                                obj.S3GP = (short)jsn.S3GP;
                                obj.S4HP = (short)jsn.S4HP;
                                obj.S4GP = (short)jsn.S4GP;
                                obj.S5HP = (short)jsn.S5HP;
                                obj.S5GP = (short)jsn.S5GP;
                                obj.S6HP = (short)jsn.S6HP;
                                obj.S6GP = (short)jsn.S6GP;
                                obj.S7HP = (short)jsn.S7HP;
                                obj.S7GP = (short)jsn.S7GP;

                                obj.HS = (short)jsn.HS;
                                obj.GS = (short)jsn.GS;
                                obj.HP = (short)jsn.HP;
                                obj.GP = (short)jsn.GP;
                            }
                        }
                    });

                    ws.Send(jsn.ToJson());
                }
            });

            #endregion

            #region Deneme

            Handle.POST("/Tkm", (TkmJson jsn) =>
            {
                return(jsn);
            });

            #endregion
        }