public string SavethWholeTest(ScaleTest TestScale)
        {
            //  JavaScriptSerializer jscript = new JavaScriptSerializer();
            // ScaleTest TestScale = jscript.Deserialize<ScaleTest>(composite);
            // TestScale, string url
            string Result = "";
            try
            {
                string url = "http://sp-app2-dev:35897/VIS-DEV/";
                using (ClientContext clientContext = new ClientContext(url))
                {
                    NetworkCredential credentials = new NetworkCredential("bot1", "12345678", "ADQCC");
                    clientContext.Credentials = credentials;
                    List oList = clientContext.Web.Lists.GetByTitle("QCCScalesTests");
                    ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
                    ListItem oListItem = oList.AddItem(itemCreateInfo);
                    //oListItem["Title"] = TestScale.Title;
                    // oListItem["TaskId"] = TestScale.TaskId;
                    oListItem["CompanyId"] = TestScale.CompanyId;
                    oListItem["MPEFrom1"] = TestScale.MPEFrom1;
                    oListItem["MPETo1"] = TestScale.MPETo1;
                    oListItem["MPEror1"] = TestScale.MPEror1;
                    oListItem["MPEFrom2"] = TestScale.MPEFrom2;
                    oListItem["MPETo2"] = TestScale.MPETo2;
                    oListItem["MPEror2"] = TestScale.MPEror2;
                    oListItem["MPEFrom3"] = TestScale.MPEFrom3;
                    oListItem["MPETo3"] = TestScale.MPETo3;
                    oListItem["MPEror3"] = TestScale.MPEror3;
                    oListItem["MPEFrom4"] = TestScale.MPEFrom4;
                    oListItem["MPETo4"] = TestScale.MPETo4;
                    oListItem["MPEror4"] = String.IsNullOrEmpty(TestScale.MPEror4) ? "Not Applied" : TestScale.MPEror4;
                    oListItem["MPEFrom5"] = TestScale.MPEFrom5;
                    oListItem["MPETo5"] = TestScale.MPETo5;
                    oListItem["MPEFrom6"] = TestScale.MPEFrom6;
                    oListItem["MPETo6"] = TestScale.MPETo6;
                    oListItem["MPEror6"] = String.IsNullOrEmpty(TestScale.MPEror6) ? "Not Applied" : TestScale.MPEror6;// TestScale.MPEror6;
                    oListItem["LinFwdV1"] = TestScale.LinFwdV1;
                    oListItem["LinFwdRes1"] = String.IsNullOrEmpty(TestScale.LinFwdRes1) ? "Not Applied" : TestScale.LinFwdRes1; //TestScale.LinFwdRes1;
                    oListItem["LinFwdError1"] = TestScale.LinFwdError1;
                    oListItem["LinFwdV2"] = TestScale.LinFwdV2;
                    oListItem["LinFwdRes2"] = String.IsNullOrEmpty(TestScale.LinFwdRes2) ? "Not Applied" : TestScale.LinFwdRes2; //TestScale.LinFwdRes2;
                    oListItem["LinFwdError2"] = TestScale.LinFwdError2;
                    oListItem["LinFwdV3"] = TestScale.LinFwdV3;
                    oListItem["LinFwdRes3"] = TestScale.LinFwdRes3;
                    oListItem["LinFwdError3"] = TestScale.LinFwdError3;
                    oListItem["LinFwdV4"] = TestScale.LinFwdV4;
                    oListItem["LinFwdRes4"] = TestScale.LinFwdRes4;
                    oListItem["LinFwdError4"] = TestScale.LinFwdError4;
                    oListItem["LinFwdV5"] = TestScale.LinFwdV5;
                    oListItem["LinFwdRes5"] = TestScale.LinFwdRes5;
                    oListItem["LinFwdError5"] = TestScale.LinFwdError5;
                    oListItem["LinFwdV6"] = TestScale.LinFwdV6;
                    oListItem["LinFwdRes6"] = TestScale.LinFwdRes6;
                    oListItem["LinFwdError6"] = TestScale.LinFwdError6;
                    oListItem["LinFwdV7"] = TestScale.LinFwdV7;
                    oListItem["LinFwdRes7"] = String.IsNullOrEmpty(TestScale.LinFwdRes7) ? "Not Applied" : TestScale.LinFwdRes7; //TestScale.LinFwdRes7;
                    oListItem["LinFwdError7"] = TestScale.LinFwdError7;
                    oListItem["RptReading1"] = TestScale.RptReading1;
                    oListItem["RptError1"] = TestScale.RptError1;
                    oListItem["RptReading2"] = TestScale.RptReading2;
                    oListItem["RptError2"] = TestScale.RptError2;
                    oListItem["RptReading3"] = TestScale.RptReading3;
                    oListItem["RptError3"] = TestScale.RptError3;
                    oListItem["RptReading4"] = TestScale.RptReading4;
                    oListItem["RptError4"] = TestScale.RptError4;
                    oListItem["RptReading5"] = TestScale.RptReading5;
                    oListItem["RptError5"] = TestScale.RptError5;
                    oListItem["RptReading6"] = TestScale.RptReading6;
                    oListItem["RptError6"] = TestScale.RptError6;
                    oListItem["EccPos1"] = TestScale.EccPos1;
                    oListItem["EccRead1"] = TestScale.EccRead1;
                    oListItem["EccErr1"] = TestScale.EccErr1;
                    oListItem["EccPos2"] = TestScale.EccPos2;
                    oListItem["EccRead2"] = TestScale.EccRead2;
                    oListItem["EccErr2"] = TestScale.EccErr2;
                    oListItem["EccPos3"] = TestScale.EccPos3;
                    oListItem["EccRead3"] = TestScale.EccRead3;
                    oListItem["EccErr3"] = TestScale.EccErr3;
                    oListItem["EccPos4"] = TestScale.EccPos4;
                    oListItem["EccRead4"] = TestScale.EccRead4;
                    oListItem["EccErr4"] = TestScale.EccErr4;
                    oListItem["EccPos5"] = TestScale.EccPos5;
                    oListItem["EccRead5"] = TestScale.EccRead5;
                    oListItem["EccErr5"] = TestScale.EccErr5;
                    oListItem["EccPos6"] = String.IsNullOrEmpty(TestScale.EccPos6) ? "Not Applied" : TestScale.EccPos6; //TestScale.EccPos6;
                    oListItem["EccRead6"] = TestScale.EccRead6;
                    oListItem["EccErr6"] = TestScale.EccErr6;
                    oListItem["MarkNumber"] = TestScale.MarkNumber;
                    oListItem["Remarks"] = TestScale.Remarks;
                    oListItem["VerificationConductedBy"] = TestScale.VerificationConductedBy;
                    oListItem["VerficatoinReport"] = TestScale.VerficatoinReport;
                    oListItem["ScaleCalss"] = TestScale.ScaleCalss;
                    oListItem["TestRevisitDate"] = TestScale.TestRevisitDate;
                    oListItem["TestStage"] = String.IsNullOrEmpty(TestScale.TestStage) ? "3" : TestScale.TestStage; // TestScale.TestStage;
                    oListItem["TestStageDesc"] = TestScale.TestStageDesc;
                    oListItem["TestFine"] = TestScale.TestFine;
                    oListItem["CalculationType"] = TestScale.CalculationType;
                    oListItem["QCCTagNumber"] = TestScale.QCCTagNumber;
                    oListItem["ScaleCategory"] = TestScale.ScaleCategory;
                    oListItem["ScaleManufacturer"] = TestScale.ScaleManufacturer;
                    oListItem["ScaleMaximumVal"] = TestScale.ScaleMaximumVal;
                    oListItem["ScaleMiniMum"] = TestScale.ScaleMiniMum;
                    oListItem["DValueNoted"] = TestScale.DValueNoted;
                    oListItem["EvalueNoted"] = TestScale.EvalueNoted;
                    oListItem["ScaleRangeUsed"] = TestScale.ScaleRangeUsed;
                    oListItem["ScaleTestReceiptId"] = TestScale.ScaleTestReceiptId;
                    //oListItem["PaymentReportStatus"] = TestScale.PaymentReportStatus;
                    //oListItem["PaymentUpdateBy"] = TestScale.PaymentUpdateBy;
                    //oListItem["ArModuleSync"] = TestScale.ArModuleSync;
                    oListItem["TradingLiecense"] = TestScale.TradingLiecense;
                    oListItem["ScaleId"] = TestScale.ScaleId;
                    oListItem["EccentricityIsApplicable"] = TestScale.EccentricityIsApplicable;
                    oListItem["EccentricityReason"] = String.IsNullOrEmpty(TestScale.EccentricityReason) ? "Not Applicable" : TestScale.EccentricityReason;
                    oListItem["MaxiMum2"] = String.IsNullOrEmpty(TestScale.MaxiMum2) ? "Not Applied" : TestScale.MaxiMum2;// TestScale.MaxiMum2;
                    oListItem["EvalueNoted2"] = String.IsNullOrEmpty(TestScale.EvalueNoted2) ? "Not Applied" : TestScale.EvalueNoted2; //TestScale.EvalueNoted2;
                    oListItem["IsNewCustomer"] = String.IsNullOrEmpty(TestScale.IsNewCustomer) ? "Not Applied" : TestScale.IsNewCustomer; // TestScale.IsNewCustomer;
                    oListItem["TestType"] = TestScale.TestType;
                    oListItem["SecureMark"] = TestScale.SecureMark;
                    oListItem["VerifiedMarck"] = TestScale.VerifiedMarck;
                    oListItem["VerfiedMarckFail"] = TestScale.VerfiedMarckFail;
                    oListItem["VisualClean"] = String.IsNullOrEmpty(TestScale.VisualClean) ? "Not Applied" : TestScale.VisualClean;// TestScale.VisualClean;
                    oListItem["VisualWorkingFine"] = String.IsNullOrEmpty(TestScale.VisualWorkingFine) ? " Applied" : TestScale.VisualWorkingFine;//TestScale.VisualWorkingFine;
                    oListItem["VisualUnBroken"] = String.IsNullOrEmpty(TestScale.VisualUnBroken) ? " Applied" : TestScale.VisualUnBroken;//TestScale.VisualUnBroken;
                    oListItem["VisaulCorretSurfceLvl"] = String.IsNullOrEmpty(TestScale.VisaulCorretSurfceLvl) ? " Applied" : TestScale.VisaulCorretSurfceLvl;// TestScale.VisaulCorretSurfceLvl;
                    oListItem["SimpleTest"] = TestScale.SimpleTest;
                    oListItem["FinalTestResults"] = TestScale.FinalTestResults;
                    oListItem["VerificationCharges"] = TestScale.VerificationCharges;
                    oListItem["OldQccTagNumber"] = TestScale.OldQccTagNumber;
                    oListItem["MPEror5"] = String.IsNullOrEmpty(TestScale.MPEror5) ? " Not Applied" : TestScale.MPEror5;// TestScale.MPEror5;
                    oListItem["DValueNoted2"] = String.IsNullOrEmpty(TestScale.DValueNoted2) ? "Not Applied" : TestScale.DValueNoted2;// TestScale.DValueNoted2;
                    //oListItem["BankTransactionID"] = TestScale.BankTransactionID;
                    // oListItem["InvoiceSystem"] = TestScale.InvoiceSystem;
                    //oListItem["InvSysInvoiceNumber"] = TestScale.InvSysInvoiceNumber;
                    // oListItem["InvSysReceipNumber"] = TestScale.InvSysReceipNumber;
                    // oListItem["InvSysReceiptAmount"] = TestScale.InvSysReceiptAmount;
                    // oListItem["BankTransactionDate"] =String.IsNullOrEmpty(TestScale.BankTransactionDate) ? "Not Applied" : TestScale.BankTransactionDate; TestScale.BankTransactionDate;
                    oListItem["TestDate"] = TestScale.TestDate;
                    // oListItem["TestApprovedBy"] = TestScale.TestApprovedBy;
                    //oListItem["TestApprovalDate"] = TestScale.TestApprovalDate;
                    // oListItem["MohthlyGroupColumn"] = TestScale.MohthlyGroupColumn;
                    oListItem["BusinessCategory"] = TestScale.BusinessCategory;
                    oListItem["ReVisited"] = TestScale.ReVisited;

                    oListItem.Update();
                    clientContext.ExecuteQuery();
                    Result = Convert.ToString(oListItem.Id);
                }
            }
            catch (Exception ex)
            {

                throw;
            }
            return Result;
        }
        public ScaleTest GetDetailsofTestFromTagNumberScale(string TestId, string Check)
        {
            if (TestId == "" || TestId == null) TestId = "2738";
            if (Check == "" || Check == null) Check = "QCCScalesTests";
            ScaleTest _Object = new ScaleTest();
            try
            {
                string url = "http://*****:*****@"<View> <Query>  <Where><Eq><FieldRef Name='ID' />    <Value Type='Counter'>" + TestId + "</Value></Eq></Where>  "
                        + "</Query><ViewFields>"
                              + "<FieldRef Name=\"ID\"/>" + "<FieldRef Name=\"QCCTagNumber\"/>"
                              + "<FieldRef Name=\"ScaleMaximumVal\"/>" + "<FieldRef Name=\"MaxiMum2\"/>"
                              + "<FieldRef Name=\"EvalueNoted2\"/>" + "<FieldRef Name=\"EvalueNoted\"/>"
                              + "<FieldRef Name=\"ScaleId\"/>" + "<FieldRef Name=\"DValueNoted\"/>"
                             + "<FieldRef Name=\"DValueNoted2\"/>" + "<FieldRef Name=\"ScaleMiniMum\"/>"
                              + "<FieldRef Name=\"ScaleCalss\"/>"
                             + "<FieldRef Name=\"FinalTestResults\"/>" + "<FieldRef Name=\"EvalueNoted2\"/>"
                             + "<FieldRef Name=\"EvalueNoted\"/>" + "<FieldRef Name=\"ScaleId\"/>" + "<FieldRef Name=\"TradingLiecense\"/>" +
                             "<FieldRef Name=\"ScaleCategory\"/>" + "<FieldRef Name=\"TestType\"/>" + "<FieldRef Name=\"CalculationType\"/>" +
                             "<FieldRef Name=\"ScaleRangeUsed\"/>" + "<FieldRef Name=\"ScaleCalss\"/>" +
                              "<FieldRef Name=\"FinalTestResults\"/><FieldRef Name=\"CompanyId\"/><FieldRef Name=\"BusinessCategory\"/><FieldRef Name=\"ScaleCategory\"/>" +

                                         "</ViewFields></View>";
                    ListItemCollection listItems = spList.GetItems(camlQuery);
                    clientContext.Load(listItems);
                    clientContext.ExecuteQuery();
                    foreach (ListItem item in listItems)
                    {
                        _Object.QCCTagNumber = Convert.ToString(item["QCCTagNumber"]);
                        _Object.MaxiMum2 = Convert.ToString(item["MaxiMum2"]);
                        _Object.ScaleMaximumVal = Convert.ToString(item["ScaleMaximumVal"]);
                        _Object.EvalueNoted2 = Convert.ToString(item["EvalueNoted2"]);
                        _Object.EvalueNoted = Convert.ToString(item["EvalueNoted"]);
                        _Object.ScaleId = Convert.ToString(item["ScaleId"]);
                        _Object.DValueNoted = Convert.ToString(item["DValueNoted"]);
                        _Object.DValueNoted2 = Convert.ToString(item["DValueNoted2"]);
                        _Object.ScaleMiniMum = Convert.ToString(item["ScaleMiniMum"]);

                        _Object.CompanyId = Convert.ToString(item["CompanyId"]);
                        _Object.ScaleCalss = Convert.ToString(item["ScaleCalss"]);
                        _Object.FinalTestResults = Convert.ToString(item["FinalTestResults"]);
                        _Object.EvalueNoted2 = Convert.ToString(item["EvalueNoted2"]);
                        _Object.TradingLiecense = Convert.ToString(item["TradingLiecense"]);
                        _Object.ScaleCategory = Convert.ToString(item["ScaleCategory"]);
                        _Object.TestType = Convert.ToString(item["TestType"]);
                        _Object.CalculationType = Convert.ToString(item["CalculationType"]);
                        _Object.ScaleRangeUsed = Convert.ToString(item["ScaleRangeUsed"]);
                        _Object.QCCTagNumber = Convert.ToString(item["QCCTagNumber"]);
                        _Object.ScaleCategory = Convert.ToString(item["ScaleCategory"]);
                        _Object.FinalTestResults = Convert.ToString(item["FinalTestResults"]);
                        _Object.BusinessCategory = Convert.ToString(item["BusinessCategory"]);

                    }
                }
            }
            catch (Exception Ex)
            {
            }
            return _Object;
        }