Пример #1
0
        public void reloadAll()
        {
            List <SCInvoice> lstContractInvoice = new List <SCInvoice>();

            if (SCMain.ContractOid > 0)
            {
                objContract = SCBase.searchContracts(SCMain.ContractOid);
                objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID);

                //Loc du lieu bi sai
                List <ContractOption>       listWrong          = new List <ContractOption>();
                Dictionary <String, String> dicContractOptions = new Dictionary <String, String>();
                foreach (ContractOption tmp in objContract.listContractOptions)
                {
                    if (dicContractOptions.ContainsKey(tmp.toString()))
                    {
                        listWrong.Add(tmp);
                    }
                    else
                    {
                        dicContractOptions.Add(tmp.toString(), "1");
                    }
                }
                ///Thuc hien xoa
                objContract.deleteContractOptionWrong(objContract.ContractOID, listWrong);

                //Reload lai data
                objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID);

                //
                List <Int32> lstInvoiceType = new List <Int32>();
                lstInvoiceType.Add(0);
                lstInvoiceType.Add(1);
                lstContractInvoice = SCInvoiceUtil.getContractInvoice(ContractFrm.objContract.ContractOID, lstInvoiceType, true);

                objContract.listSCContractRemark = SCContractRemark.getRemark(objContract.ContractOID);
            }
            else
            {
                objContract = new Contract();
            }
            this.loadComboboxData();
            this.loadContractData();

            myCulture = objGlobal.CultureInfo;

            //
            this.loadVehice();
            this.contractOption1.loadDataGrid();
            this.contractOption1.loadTree();
            this.contractDataFrm.fillData();
            objContract.listSCContractRemark = (objContract.listSCContractRemark == null) ? new List <SCContractRemark>() : objContract.listSCContractRemark;

            //Invoice
            invoicesFrm.setCheckDefault();
            invoicesFrm.fillDataGrid(lstContractInvoice);

            //Remark
            remarkFrm.loadRemark(objContract.listSCContractRemark);
        }
Пример #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            this.updateContract();

            this.vehicleDataTab.saveVehicle();

            if (objContract.VehiId.VehiId <= 0)
            {
                // MessageBox.Show("Select Vehicle");
                return;
            }

            //Update category
            this.contractOption1.saveOptionCategories();
            //Update contract data
            objContract = contractDataFrm.saveContractData();
            this.remarkFrm.saveContractRemark();
            bool tmp = false;

            tmp = objContract.saveContract();
            // MessageBox.Show(tmp.ToString());
            objContract = SCBase.searchContracts(objContract.ContractOID);
            this.loadComboboxData();
            this.loadContractData();

            //Load lai data
            objContract.listContractOptions  = ContractOption.getContractOption(objContract.ContractOID);
            objContract.listSCContractRemark = SCContractRemark.getRemark(objContract.ContractOID);
            objContract.listSCContractRemark = (objContract.listSCContractRemark == null) ? new List <SCContractRemark>() : objContract.listSCContractRemark;
            //Remark
            this.remarkFrm.loadRemark(objContract.listSCContractRemark);
        }
Пример #3
0
        private void btnNew_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Do you want to create new version?", "Warning", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                if (objContract.ContractOID != 0)
                {
                    // get old object
                    Contract oldContract = new Contract();
                    oldContract = SCBase.searchContracts(SCMain.ContractOid);
                    //update status old then save
                    oldContract.ContractStatus = ContractStatus.Deactivated;

                    //Load danh sach ContractOption va ZSC_SubcontractorContractRisk
                    List <ContractOption> oldContractOptions             = ContractOption.getContractOption(SCMain.ContractOid);
                    List <ZSC_SubcontractorContractRisk> oldContractRisk = ZSC_SubcontractorContractRisk.getSubcontractorContractRisk(SCMain.ContractOid);

                    oldContract.saveContract();


                    //  new object
                    objContract.ContractOID = 0;
                    objContract.VersionNo   = objContract.VersionNo + 1;
                    this.updateContract();

                    //Tao list [ZSC_ContractOption]
                    objContract.listContractOptions = oldContractOptions;
                    if (objContract.listContractOptions != null && objContract.listContractOptions.Count > 0)
                    {
                        foreach (ContractOption objOptionDetail in objContract.listContractOptions)
                        {
                            objOptionDetail.isInsert = true;
                        }
                    }

                    //Tao list [ZSC_SubcontractorContractRisk]
                    objContract.SubcontractorContractRisks = oldContractRisk;


                    bool tmp = objContract.saveContract();
                    if (tmp)
                    {
                        this.loadComboboxData();
                        this.loadContractData();

                        //Load Data
                        this.loadVehice();
                        this.contractOption1.loadDataGrid();
                        this.contractOption1.loadTree();
                        this.contractDataFrm.fillData();
                    }
                }
            }
            else
            {
                //MessageBox.Show("Ha ha");
            }
        }
Пример #4
0
        private bool invoiceContract(Contract objContract, bool bDraft, bool bManual, String Payer, int InvoiceSeqNr, bool bCapital)
        {
            bool              bRet         = true;
            clsAppConfig      objAppConfig = new clsAppConfig();
            clsGlobalVariable objGlobal    = new clsGlobalVariable();
            SCInvoice         objInv       = new SCInvoice();
            clsSqlFactory     hSql         = new clsSqlFactory();

            objInv.InvoiceSeqNr = InvoiceSeqNr;

            if (Payer == "")
            {
                if (objContract.InvoiceCustId != null)
                {
                    objInv.CustNo = objContract.InvoiceCustId.CustNr;
                }
                else
                {
                    objInv.CustNo = objContract.ContractCustId.CustNr;
                }
            }
            else
            {
                objInv.CustNo = objAppConfig.getNumberParam("ZSCCAPPAYE", Payer, "V1", "");
            }
            objInv.DCustNo     = objContract.ContractCustId.CustNr;
            objInv.UnitId      = objContract.InvoiceSiteId.strValue1;
            objInv.ContractOID = objContract.ContractOID;
            objInv.ExtOrderId  = objContract.ExtContractNo;
            if (objInv.ExtOrderId.Length > 10)
            {
                objInv.ExtOrderId = objInv.ExtOrderId.Substring(0, 10);
            }
            objInv.SalesType = objAppConfig.getStringParam("ZSCSETTING", "TRTYPE", "C3", "");
            objInv.SmanId    = objContract.RespSmanId.SmanId;

            objInv.TPCODE = objContract.ContractPaymentData.PaymentTerm.strValue1;
            objInv.TPTIME = objAppConfig.getNumberParam("MAKSUEHDOT", objInv.TPCODE, "V1", "");
            if (objContract.CostCenter.strValue1 != "")
            {
                hSql.NewCommand("select isnull(a.C4,'') from CORW a where a.CODAID='ZSCCOSTCC' and a.C3=? and a.C5=? ");
                hSql.Com.Parameters.Add("UNITID", objContract.SiteId.strValue1);
                hSql.Com.Parameters.Add("COSTCENTER", objContract.CostCenter.strValue1);
                hSql.ExecuteReader();
                if (hSql.Read())
                {
                    objInv.DeptId = hSql.Reader.GetString(0);
                }
            }

            objInv.Payer   = Payer;
            objInv.OUserId = objGlobal.DMSFirstUserName;
            objInv.VehiId  = objContract.VehiId.VehiId;
            objInv.Note    = objContract.ContractNo.ToString() + "/" + objContract.VersionNo.ToString() + "/" + objInv.InvoiceSeqNr.ToString();

            hSql.NewCommand("select isnull(a.C4,''), isnull(a.C5,'') from CORW a, VEHI b where a.CODAID='ZSCCONV' and a.C2='VEHICLASS2BTYPE' and a.C3=b.CLASS and b.VEHIID=? ");
            hSql.Com.Parameters.Add("VEHIID", objContract.VehiId.VehiId);
            hSql.ExecuteReader();
            if (hSql.Read())
            {
                objInv.BTYPE       = hSql.Reader.GetString(0);
                objInv.PartPostFix = hSql.Reader.GetString(1);
            }
            if (objContract.ContractPaymentData.PaymentGroupingLevel == PaymentGroupingType.Customer)
            {
                objInv.BTYPE = "0";
            }
            else
            {
                if (objContract.PaymentCollecType == PaymentCollectionType.Transfer)
                {
                    objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT4", "C3", "");
                }
                else if (objContract.PaymentCollecType == PaymentCollectionType.Debit)
                {
                    objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT5", "C3", "");
                }
                else if (objContract.PaymentCollecType == PaymentCollectionType.Plain)
                {
                    objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT6", "C3", "");
                }
                else
                {
                    if (bManual == true)
                    {
                        objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT2", "C3", "");
                    }
                    else
                    {
                        objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT1", "C3", "");
                    }
                }
            }
            if (Payer != "")
            {
                objInv.BTYPE = objAppConfig.getStringParam("ZSCCAPPAYE", Payer, "C3", "");
            }
            if (objContract.NextInvoiceDate == DateTime.MinValue)
            {
                objInv.BILLD = DateTime.Now;
            }
            else
            {
                objInv.BILLD = objContract.NextInvoiceDate;
            }
            int nInvoiceDay = objContract.ContractPaymentData.InvoiceDate;

            if (nInvoiceDay <= 0)
            {
                nInvoiceDay = objAppConfig.getNumberParam("ZSCSETTING", "INVDATE", "V1", "");
            }
            if (objInv.BILLD.Day > nInvoiceDay)
            {
                objInv.BILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, nInvoiceDay);
                objInv.BILLD = objInv.BILLD.AddMonths(1);
            }
            else if (objInv.BILLD.Day < nInvoiceDay)
            {
                objInv.BILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, nInvoiceDay);
            }
            objInv.CBILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, objInv.BILLD.Day);

            switch (objContract.ContractPaymentData.PaymentPeriod.strValue1)
            {
            case PaymentPeriodType.Quarterly:
                objInv.NBILLD = objInv.CBILLD.AddMonths(3);
                break;

            case PaymentPeriodType.HalfYear:
                objInv.NBILLD = objInv.CBILLD.AddMonths(6);
                break;

            case PaymentPeriodType.Yearly:
                objInv.NBILLD = objInv.CBILLD.AddMonths(12);
                break;

            default:
                objInv.NBILLD = objInv.CBILLD.AddMonths(1);
                break;
            }
            objInv.DELD = objInv.BILLD;
            addInvoiceText(hSql, objContract, ref objInv);
            objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID);
            //objContract.loadDetail();
            addInvoiceRows(objContract, ref objInv, bCapital);
            hSql.Close();
            bRet = objInv.saveOrder(bDraft);
            if ((bRet == true) && (bManual == true))
            {
                if (bDraft == true)
                {
                    openInvoice(objInv.UnitId, objInv.SSALID, objInv.SRECNO);
                }
                else
                {
                    openInvoicePDF(objInv.UnitId, objInv.SRECNO);
                }
            }
            return(bRet);
        }