private void btnSave_Click(object sender, EventArgs e)
        {
            if (isNew)
            {
                cp = new ContractPayment();
            }
            cp.Amount        = decimal.Parse(txtAmount.Text);
            cp.PaymentMethod = ddPaymentMethod.Text;
            cp.PaymentNo     = int.Parse(txtPaymentNo.Text);
            cp.Status        = ddStatus.Text;
            cp.DueDate       = DateTime.Parse(ddDueDate.Text);
            cp.Note          = txtNote.Text;
            if (isNew)
            {
                da.AddPaymentByContractId(_contractId, cp);
            }
            else
            {
                da.Update();
            }

            AddContract parent = (AddContract)this.Owner;

            parent.updatePaymentInfo();
        }
Пример #2
0
 /// <summary>
 /// Insert the review type
 /// </summary>
 /// <param name="item">Contract type</param>
 public void InsertContractPayment(ContractPayment item)
 {
     if (item == null)
     {
         throw new ArgumentNullException(nameof(item));
     }
     _itemRepository.Insert(item);
     //event notification
     _eventPublisher.EntityInserted(item);
 }
 internal void EditPayment(int payemtId)
 {
     da                   = new DataAccess();
     cp                   = da.GetPaymentById(payemtId);
     txtAmount.Text       = cp.Amount.Value.ToString();
     ddPaymentMethod.Text = cp.PaymentMethod;
     txtPaymentNo.Text    = cp.PaymentNo.ToString();
     ddStatus.Text        = cp.Status;
     txtNote.Text         = cp.Note;
     ddDueDate.Text       = cp.DueDate.Value.ToString();
 }
Пример #4
0
        /// <summary>
        /// Delete ContractPayment
        /// </summary>
        /// <param name="item">Review type</param>
        public void DeleteContractPayment(ContractPayment item)
        {
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }
            item.StatusId = 4;
            _itemRepository.Update(item);

            //event notification
            _eventPublisher.EntityDeleted(item);
        }
        internal void AddNewPayment(int contractId)
        {
            da = new DataAccess();
            cp = new ContractPayment();
            int paymentNo = 0;

            _contractId = contractId;
            isNew       = true;
            var payments = da.GetPaymentByContractId(_contractId);

            if (payments.Count > 0)
            {
                var payment = payments.OrderBy(x => x.PaymentNo).Last();
                paymentNo = payment.PaymentNo;
            }
            txtPaymentNo.Text    = (paymentNo + 1).ToString();
            ddStatus.Text        = "Due";
            ddPaymentMethod.Text = "Cheque";
        }
        private void SaveContract()
        {
            try
            {
                var items = lstOutput.Items;
                if (_isNew)
                {
                    da.AddContract(contract);
                }
                else
                {
                    da.DeleteCustomerSpaceUnitByGroupId((Guid)contract.GroupId);
                }
                foreach (var item in items)
                {
                    CustomerSpaceUnit spu = new CustomerSpaceUnit();
                    spu.CustomerId  = _customerId;
                    spu.SpaceUnitId = ((CustomSpaceUnit)item).Id;
                    spu.GroupId     = contract.GroupId;
                    da.AddCustomerSpaceUnit(spu);
                }
                int     installments = (int)contract.NoOfInstallments;
                decimal amount       = (decimal)contract.Amount;
                int     totlaDays    = (contract.EndDate - contract.StartDate).Value.Days;

                decimal  amountPerInstallment = Math.Round(amount / installments, 2);
                int      daysPerInstallments  = totlaDays / installments;
                int      monthPerInstallment  = daysPerInstallments / 30;
                DateTime contStartDate        = contract.StartDate.Value;
                decimal  tempAmount           = 0;
                if (_isNew)
                {
                    for (int i = 0; i < installments; i++)
                    {
                        ContractPayment cp = new ContractPayment();
                        cp.PaymentMethod = "Cheque";
                        cp.PaymentNo     = i + 1;

                        cp.DueDate    = contStartDate;
                        contStartDate = contStartDate.AddMonths(monthPerInstallment);

                        cp.Amount   = amountPerInstallment;
                        tempAmount += amountPerInstallment;

                        cp.Status = PaymentStatus.DUE;
                        contract.ContractPayments.Add(cp);
                    }
                }
                da.Update();

                var payments = da.GetPaymentByContractId(contract.Id);
                paymentGrid.DataSource = payments;
                _contractId            = contract.Id;

                updatePaymentInfo();
                btnNewContrator.Enabled = false;
                btnAddPayment.Enabled   = btnCloseAgreement.Enabled = true;
                _isNew = false;
            }
            catch (Exception ex)
            {
                LogWriter.Write("Exception ---" + ex.Message + ex.StackTrace + "----" + ex.Source + "---" + ex.InnerException);
            }
        }
Пример #7
0
        public Contract saveContractData()
        {
            //ContractDate contractDate = contract.ContractDateData;
            //ContractPayment ContractPaymentData = contract.ContractPaymentData;
            //ContractCapital ContractCapitalData = contract.ContractCapitalData;
            //ContractCost ContractCostData = contract.ContractCostData;
            //ContractExtraKm ContractExtraKmData = contract.ContractExtraKmData;

            ContractDate    contractDate        = ContractFrm.objContract.ContractDateData;
            ContractPayment ContractPaymentData = ContractFrm.objContract.ContractPaymentData;
            ContractCapital ContractCapitalData = ContractFrm.objContract.ContractCapitalData;
            ContractCost    ContractCostData    = ContractFrm.objContract.ContractCostData;
            ContractExtraKm ContractExtraKmData = ContractFrm.objContract.ContractExtraKmData;

            if (contractDate == null)
            {
                contractDate = new ContractDate();
            }
            if (ContractPaymentData == null)
            {
                ContractPaymentData = new ContractPayment();
            }
            if (ContractCapitalData == null)
            {
                ContractCapitalData = new ContractCapital();
            }
            if (ContractCostData == null)
            {
                ContractCostData = new ContractCost();
            }
            if (ContractExtraKmData == null)
            {
                ContractExtraKmData = new ContractExtraKm();
            }

            //Start
            contractDate.ContractStartDate   = txtStartDate.Value;
            contractDate.ContractStartKm     = Int32.Parse(txtStartKm.Value.ToString());
            contractDate.ContractStartHour   = Int32.Parse(txtStartHr.Value.ToString());
            contractDate.InvoiceStartDate    = txtStartInvoice.Value;
            contractDate.ContractPeriodMonth = Int32.Parse(txtPeriod.Text);
            contractDate.ContractPeriodKm    = Int32.Parse(txtKm.Value.ToString());
            contractDate.ContractPeriodHour  = Int32.Parse(txtHr.Value.ToString());


            if (rdKmBase.Checked)
            {
                ContractFrm.objContract.ContractDateData.ContractPeriodKmHour = 1;
            }
            if (rdHrBase.Checked)
            {
                ContractFrm.objContract.ContractDateData.ContractPeriodKmHour = 2;
            }

            //End
            contractDate.ContractEndDate = txtEndDate.Value;
            contractDate.ContractEndKm   = Int32.Parse(txtEndKm.Value.ToString());
            contractDate.ContractEndHour = Int32.Parse(txtEndHr.Value.ToString());
            contractDate.InvoiceEndDate  = txtEndInvoice.Value;

            if (cbTemType.SelectedValue != null)
            {
                clsBaseListItem TerminationType = new clsBaseListItem();
                TerminationType.strValue1 = cbTemType.SelectedValue.ToString();
                TerminationType.strText   = cbTemType.SelectedText;
                ContractFrm.objContract.TerminationType = TerminationType;
            }

            //Payment
            if (cbPayPeriod.SelectedValue != null)
            {
                clsBaseListItem PaymentPeriod = new clsBaseListItem();
                PaymentPeriod.strValue1           = cbPayPeriod.SelectedValue.ToString();
                PaymentPeriod.strText             = cbPayPeriod.SelectedText;
                ContractPaymentData.PaymentPeriod = PaymentPeriod;
            }


            ContractFrm.objContract.IsManualInvoice = cbInvoice.Checked;
            ContractPaymentData.PaymentIsInBlock    = cbPayment.Checked;

            if (cbColType.SelectedValue != null)
            {
                ContractPaymentData.PaymentCollectionType = cbColType.SelectedValue.ToString();
            }
            if (cbGrpLevel.SelectedValue != null)
            {
                ContractPaymentData.PaymentGroupingLevel = cbGrpLevel.SelectedValue.ToString();
            }
            clsBaseListItem PaymentTerm = new clsBaseListItem();

            if (cbPayTerm.SelectedValue != null)
            {
                PaymentTerm.strValue1 = cbPayTerm.SelectedValue.ToString();
                PaymentTerm.strText   = cbPayTerm.SelectedText;
            }
            ContractPaymentData.PaymentTerm = PaymentTerm;

            clsBaseListItem InvoiceSiteId = new clsBaseListItem();

            if (cbInvoiceSite.SelectedValue != null)
            {
                InvoiceSiteId.strValue1 = cbInvoiceSite.SelectedValue.ToString();
                InvoiceSiteId.strText   = cbInvoiceSite.SelectedText;
            }
            ContractFrm.objContract.InvoiceSiteId = InvoiceSiteId;


            //captial
            ContractCapitalData.CapitalStartAmount = txtStartAmount.Value;
            clsBaseListItem CapitalStartPayer = new clsBaseListItem();

            if (txtStartAmountPayer.SelectedValue != null)
            {
                CapitalStartPayer.strValue1 = txtStartAmountPayer.SelectedValue.ToString();
                CapitalStartPayer.strText   = txtStartAmountPayer.SelectedText.ToString();
            }
            ContractCapitalData.CapitalStartPayer = CapitalStartPayer;

            ContractCapitalData.CapitalMonthAmount = txtMonAmount.Value;

            clsBaseListItem CapitalMonthPayer = new clsBaseListItem();

            if (txtMonAmountPayer.SelectedValue != null)
            {
                CapitalMonthPayer.strValue1 = txtMonAmountPayer.SelectedValue.ToString();
                CapitalMonthPayer.strText   = txtMonAmountPayer.SelectedText.ToString();
            }
            ContractCapitalData.CapitalMonthPayer = CapitalMonthPayer;

            if (ContractFrm.objContract.ContractCapitalData != null)
            {
                txtTotalAmount.Text = (ContractFrm.objContract.ContractCapitalData.CapitalStartAmount
                                       + ContractFrm.objContract.ContractCapitalData.CapitalMonthAmount * ContractFrm.objContract.ContractDateData.ContractPeriodMonth).ToString();
            }
            else
            {
                txtTotalAmount.Text = "";
            }

            //Cost
            clsBaseListItem CostBasis = new clsBaseListItem();

            if (cbCostBassis.SelectedValue != null)
            {
                CostBasis.strValue1 = cbCostBassis.SelectedValue.ToString();
                CostBasis.strText   = cbCostBassis.SelectedText.ToString();
            }
            ContractCostData.CostBasis = CostBasis;

            ContractCostData.CostBasedOnService = txtCostBase.Value;
            ContractCostData.CostMonthBasis     = txtMonBassis.Value;
            ContractCostData.CostKmBasis        = txtKmBassis.Value;
            ContractCostData.CostPerKm          = txtErr.Value;
            txtLastPay.Text = "txtLastPay";
            txtLastKm.Text  = "";

            //Extra

            clsBaseListItem ExtraKmInvoicePeriod = new clsBaseListItem();

            if (cbBiling.SelectedValue != null)
            {
                ExtraKmInvoicePeriod.strValue1 = cbBiling.SelectedValue.ToString();
                ExtraKmInvoicePeriod.strText   = cbBiling.SelectedText.ToString();
            }
            ContractExtraKmData.ExtraKmInvoicePeriod = ExtraKmInvoicePeriod;

            clsBaseListItem ExtraKmAccounting = new clsBaseListItem();

            if (cbAccounting.SelectedValue != null)
            {
                ExtraKmAccounting.strValue1 = cbAccounting.SelectedValue.ToString();
                ExtraKmAccounting.strText   = cbAccounting.SelectedText.ToString();
            }
            ContractExtraKmData.ExtraKmAccounting     = ExtraKmAccounting;
            ContractExtraKmData.ExtraKmMaxDeviation   = txtMaxDev.Value;
            ContractExtraKmData.ExtraKmLowAmount      = txtLowKm.Value;
            ContractExtraKmData.ExtraKmHighAmount     = txtHighKm.Value;
            ContractExtraKmData.ExtraKmInvoicedAmount = txtInvoiceAmount.Value;

            //
            clsBaseListItem RollingCode = new clsBaseListItem();

            if (cbRoll.SelectedIndex >= 0)
            {
                RollingCode.strValue1 = cbRoll.SelectedValue.ToString();
                RollingCode.strText   = cbRoll.SelectedText.ToString();
            }
            ContractFrm.objContract.RollingCode = RollingCode;

            ContractFrm.objContract.IsInvoiceDetail = cbInvoiceDetail.Checked;

            //RiskCustId

            ContractCustomer RiskCustId = new ContractCustomer();

            if (txtRiskCusId.Text != null && txtRiskCusId.Text.Trim().Length > 0)
            {
                RiskCustId.CustId = Int32.Parse(txtRiskCusId.Text);
            }
            ContractFrm.objContract.RiskCustId = RiskCustId;
            ContractFrm.objContract.RiskLevel  = txtRishLevel.Value;



            //Save Risk
            List <ZSC_SubcontractorContractRisk> listRisk     = new List <ZSC_SubcontractorContractRisk>();
            List <SubContractorContract>         SubContracts = ContractFrm.objContract.SubContracts;

            ZSC_SubcontractorContractRisk objRisk = null;
            string  colName = "";
            decimal newInteger;

            foreach (DataRow row in dataTable.Rows)
            {
                foreach (SubContractorContract subContract in SubContracts)
                {
                    colName = "sub" + subContract.OID;
                    if (row[colName] != null && row[colName].ToString().Trim().Length > 0 &&
                        decimal.TryParse(row[colName].ToString().Trim(), out newInteger) && newInteger > 0)
                    {
                        objRisk = new ZSC_SubcontractorContractRisk();
                        objRisk.SubContractOID    = subContract.OID;
                        objRisk.RiskPartnerCustId = Int32.Parse(row["RiskPartnerCustId"].ToString().Trim());
                        objRisk.RiskLevel         = decimal.Parse(row[colName].ToString().Trim());
                        listRisk.Add(objRisk);
                    }
                }
            }
            ContractFrm.objContract.SubcontractorContractRisks = listRisk;
            ContractFrm.objContract.ContractDateData           = contractDate;
            ContractFrm.objContract.ContractPaymentData        = ContractPaymentData;
            ContractFrm.objContract.ContractCapitalData        = ContractCapitalData;
            ContractFrm.objContract.ContractCostData           = ContractCostData;
            ContractFrm.objContract.ContractExtraKmData        = ContractExtraKmData;

            ContractFrm.objContract.IndexingDate = dtIndexingDate.Value;
            ContractFrm.objContract.IndexValue   = dfIndexValue.Value;
            ContractFrm.objContract.ContractPaymentData.InvoiceDate = (Int32)dfInvoicingDay.Value;
            return(ContractFrm.objContract);
        }
        public virtual IActionResult Create(PaymentExpenditureModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePaymentExpenditureCreate))
            {
                return(AccessDeniedView());
            }
            if (ModelState.IsValid && model.lstContractPayment.Count() > 0)
            {
                var noti = "admin.common.Added";
                var item = new PaymentExpenditure();
                if (model.Id > 0)
                {
                    item = _contractService.GetPaymentExpenditureById(model.Id);
                }
                _contractModelFactory.PreparePaymentExpenditure(model, item);
                if (model.PaymentAdvanceId > 0)
                {
                    item.PaymentAdvanceId = model.PaymentAdvanceId;
                    item.AcceptanceId     = null;
                }
                if (model.AcceptanceId > 0)
                {
                    item.AcceptanceId     = model.AcceptanceId;
                    item.PaymentAdvanceId = null;
                }
                if (model.Id > 0)
                {
                    _contractPaymentService.DeleteContractPaymentsByExpenditureId(item.Id);
                    _contractService.UpdatePaymentExpenditure(item);
                    noti = "admin.common.Updated";
                }
                else
                {
                    _contractService.InsertPaymentExpenditure(item);
                }
                foreach (ContractPaymentModel paymentModel in model.lstContractPayment)
                {
                    var payment = new ContractPayment
                    {
                        CreatorId    = _workContext.CurrentCustomer.Id,
                        ApprovedDate = DateTime.Now,
                        CreatedDate  = DateTime.Now,
                        IsReceipts   = false,
                        StatusId     = (int)ContractPaymentStatus.Approved,
                    };
                    var task = _workTaskService.GetTaskById(paymentModel.TaskId);
                    payment.ExpenditureId = item.Id;
                    payment.Description   = item.Name + " " + task.Name;
                    payment.Code          = item.Code + task.Code;
                    payment.TaskId        = paymentModel.TaskId;
                    payment.ContractId    = task.ContractId;
                    if (task.UnitId > 0)
                    {
                        payment.UnitId = (int)task.UnitId;
                    }
                    else
                    {
                        payment.UnitId = null;
                    }
                    if (task.CurrencyId > 0)
                    {
                        payment.CurrencyId = (int)task.CurrencyId;
                    }
                    else
                    {
                        payment.CurrencyId = (int)item.CurrencyId;
                    }
                    payment.Amount = paymentModel.Amount.ToNumber();
                    payment.TypeId = item.TypeId;
                    _contractPaymentService.InsertContractPayment(payment);
                }
                return(JsonSuccessMessage(_localizationService.GetResource(noti), item.ToModel <PaymentExpenditureModel>()));
            }
            var list = ModelState.Values.Where(c => c.Errors.Count > 0).ToList();

            return(JsonErrorMessage("Error", list));
        }