public ReceivePayment Create(ReceivePayment payment)
        {
            EReceivePayment eReceivePayment = EReceivePayment(payment);

            eReceivePayment = _iDReceivePayment.Create(eReceivePayment);
            return(ReceivePayment(eReceivePayment));
        }
Beispiel #2
0
        public ReceivePayment Save(ReceivePayment payment)
        {
            var existPayment = erpNodeDBContext.ReceivePayments.Find(payment.Id);

            if (existPayment == null)
            {
                return(payment);
            }

            else if (existPayment != null)
            {
                if (existPayment.PostStatus == LedgerPostStatus.Posted)
                {
                    return(existPayment);
                }

                existPayment.TransactionType       = this.transactionType;
                existPayment.CompanyProfile        = organization.SelfProfile;
                existPayment.TransactionDate       = payment.TransactionDate;
                existPayment.ClearingDelayDayCount = payment.ClearingDelayDayCount;
                existPayment.DiscountAmount        = payment.DiscountAmount;
                existPayment.BankFeeAmount         = payment.BankFeeAmount;
                existPayment.AssetAccountId        = payment.AssetAccountId;

                erpNodeDBContext.SaveChanges();

                return(existPayment);
            }


            return(null);
        }
Beispiel #3
0
        public DataBaseResultSet SaveReceivePayment <T>(T objData) where T : class, IModel, new()
        {
            ReceivePayment     obj    = objData as ReceivePayment;
            string             sQuery = "sprocReceivePaymentInsertUpdateSingleItem";
            List <DbParameter> list   = new List <DbParameter>();

            list.Add(SqlConnManager.GetConnParameters("RecNo", "RecNo", 8, GenericDataType.Long, ParameterDirection.Input, obj.RecNo));
            list.Add(SqlConnManager.GetConnParameters("EntryTag", "EntryTag", 30, GenericDataType.String, ParameterDirection.Input, obj.EntryTag));
            list.Add(SqlConnManager.GetConnParameters("RefNo", "RefNo", 8, GenericDataType.Long, ParameterDirection.Input, obj.RefNo));
            list.Add(SqlConnManager.GetConnParameters("EntryDate", "EntryDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.EntryDate));
            list.Add(SqlConnManager.GetConnParameters("ChequeNo", "ChequeNo", 10, GenericDataType.String, ParameterDirection.Input, obj.ChequeNo));
            list.Add(SqlConnManager.GetConnParameters("ChequeDate", "ChequeDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.ChequeDate));
            list.Add(SqlConnManager.GetConnParameters("AccountCode1", "AccountCode1", 8, GenericDataType.Long, ParameterDirection.Input, obj.AccountCode1));
            list.Add(SqlConnManager.GetConnParameters("AccountCode2", "AccountCode2", 8, GenericDataType.Long, ParameterDirection.Input, obj.AccountCode2));
            list.Add(SqlConnManager.GetConnParameters("Amount", "Amount", 8, GenericDataType.Decimal, ParameterDirection.Input, obj.Amount));
            list.Add(SqlConnManager.GetConnParameters("RcptMess", "RcptMess", 100, GenericDataType.String, ParameterDirection.Input, obj.RcptMess));
            list.Add(SqlConnManager.GetConnParameters("ReconDate", "ReconDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.ReconDate));
            list.Add(SqlConnManager.GetConnParameters("ShiftNo", "ShiftNo", 8, GenericDataType.Long, ParameterDirection.Input, obj.ShiftNo));
            list.Add(SqlConnManager.GetConnParameters("CUser", "CUser", 8, GenericDataType.Long, ParameterDirection.Input, obj.CUser));
            list.Add(SqlConnManager.GetConnParameters("CDateTime", "CDateTime", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.CDateTime));
            list.Add(SqlConnManager.GetConnParameters("EUser", "EUser", 8, GenericDataType.Long, ParameterDirection.Input, obj.EUser));
            list.Add(SqlConnManager.GetConnParameters("EDateTime", "EDateTime", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.EDateTime));
            list.Add(SqlConnManager.GetConnParameters("CreatedBy", "CreatedBy", 50, GenericDataType.String, ParameterDirection.Input, obj.CreatedBy));
            list.Add(SqlConnManager.GetConnParameters("CreatedDate", "CreatedDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.CreatedDate));
            list.Add(SqlConnManager.GetConnParameters("UpdateddBy", "UpdateddBy", 50, GenericDataType.String, ParameterDirection.Input, obj.UpdateddBy));
            list.Add(SqlConnManager.GetConnParameters("UpdatedDate", "UpdatedDate", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.UpdatedDate));
            list.Add(SqlConnManager.GetConnParameters("UpdatedCount", "UpdatedCount", 4, GenericDataType.Int, ParameterDirection.Input, obj.UpdatedCount));
            list.Add(SqlConnManager.GetConnParameters("LUT", "LUT", 8, GenericDataType.DateTime, ParameterDirection.Input, obj.LUT));
            list.Add(SqlConnManager.GetConnParameters("OperationFlag", "OperationFlag", 4, GenericDataType.Int, ParameterDirection.Input, (short)obj.OperationFlag));
            list.Add(SqlConnManager.GetConnParameters("Message", "Message", 300, GenericDataType.String, ParameterDirection.Output, null));
            list.Add(SqlConnManager.GetConnParameters("ErrorCode", "ErrorCode", 4, GenericDataType.Int, ParameterDirection.Output, null));
            return(SqlConnManager.Save(sQuery, CommandType.StoredProcedure, list.ToArray()));
        }
Beispiel #4
0
        public ReceivePayment Create(Models.Profiles.Profile profile, Commercial com, DateTime workingDate)
        {
            var payment = new ReceivePayment()
            {
                TransactionDate = workingDate,
                Profile         = profile,
                AssetAccount    = organization.SystemAccounts.Cash,
                TransactionType = TransactionTypes.ReceivePayment,
                No = this.NextNumber
            };

            erpNodeDBContext.ReceivePayments.Add(payment);

            if (com != null && com.CommercialPayment == null)
            {
                payment.AddCommercial(com);
            }



            erpNodeDBContext.SaveChanges();


            return(payment);
        }
Beispiel #5
0
 public void UnPostLedger(ReceivePayment financialPayment)
 {
     Console.WriteLine("> Un Posting,");
     organization.LedgersDal.RemoveTransaction(financialPayment.Id);
     financialPayment.PostStatus = LedgerPostStatus.ReadyToPost;
     erpNodeDBContext.SaveChanges();
 }
Beispiel #6
0
        public void GetListReceivePayment <T>(T objFilter, ref List <T> listData) where T : class, IModel, new()
        {
            string             sQuery  = "GetListReceivePayment";
            ReceivePayment     objData = objFilter as ReceivePayment;
            List <DbParameter> list    = new List <DbParameter>();

            list.Add(SqlConnManager.GetConnParameters("RecNo", "RecNo", 8, GenericDataType.Long, ParameterDirection.Input, objData.RecNo));
            SqlConnManager.GetList <T>(sQuery, CommandType.StoredProcedure, list.ToArray(), FillReceivePaymentDataFromReader, ref listData);
        }
Beispiel #7
0
 private void FillReceivePaymentDataFromReader <T>(DbDataReader DbReader, ref List <T> listData) where T : class, IModel, new()
 {
     while (DbReader.Read())
     {
         T obj = new T();
         ReceivePayment objData = obj as ReceivePayment;
         obj.FillDataFromDB(DbReader);
         listData.Add(obj);
     }
 }
Beispiel #8
0
        public bool PostLedger(ReceivePayment tr, bool SaveImmediately = true)
        {
            if (tr.PostStatus == LedgerPostStatus.Posted)
            {
                throw new Exception("Posted Transaction");
            }
            if (tr.CommercialCount == 0 || tr.TotalCommercialAmount == 0)
            {
                throw new Exception("Zero commecial transaction");
            }

            tr.AssetAccount      = tr.AssetAccount ?? organization.SystemAccounts.Cash;
            tr.ReceivableAccount = organization.SystemAccounts.AccountReceivable;
            tr.UpdateBalance();

            var trLedger = new Models.Accounting.LedgerGroup()
            {
                Id = tr.Id,
                TransactionDate = tr.TransactionDate,
                TransactionName = tr.Name,
                TransactionNo   = tr.No,
                TransactionType = transactionType,
                ProfileName     = tr.Profile?.Name,
            };

            string memo = "";

            //Cr.
            trLedger.AddCredit(tr.ReceivableAccount, tr.TotalCommercialAmount, memo);

            //Dr.
            tr.PaymentRetentions.ToList().ForEach(pr =>
                                                  trLedger.AddDebit(pr.RetentionType.RetentionToAccount, pr.RetentionAmount, memo));
            trLedger.AddDebit(organization.SystemAccounts.DiscountGiven, tr.DiscountAmount, memo);
            trLedger.AddDebit(tr.AssetAccount, tr.AmountPaymentReceive, memo);


            if (tr.BankFeeAmount > 0)
            {
                trLedger.AddDebit(organization.SystemAccounts.BankFee, tr.BankFeeAmount);
                trLedger.AddCredit(tr.AssetAccount, tr.BankFeeAmount);
            }

            if (trLedger.FinalValidate())
            {
                erpNodeDBContext.LedgerGroups.Add(trLedger);
                tr.PostStatus = LedgerPostStatus.Posted;
            }
            else if (tr.PostStatus != LedgerPostStatus.Posted)
            {
                return(false);
            }

            return(true);
        }
        private ReceivePayment ReceivePayment(EReceivePayment eReceivePayment)
        {
            ReceivePayment returnPayment = new ReceivePayment
            {
                AmountReceived = eReceivePayment.AmountReceived,
                DateOfPayment  = eReceivePayment.DateOfPayment,
                PaymentId      = eReceivePayment.PaymentId
            };

            return(returnPayment);
        }
        private EReceivePayment EReceivePayment(ReceivePayment payment)
        {
            EReceivePayment returnEPayment = new EReceivePayment
            {
                AmountReceived = payment.AmountReceived,
                DateOfPayment  = payment.DateOfPayment,
                PaymentId      = payment.PaymentId
            };

            return(returnEPayment);
        }
        public string CreatePayment(ReceivePayment Payment)
        {
            requestMsgSet.ClearRequests();
            IReceivePaymentAdd PaymentAddRq = requestMsgSet.AppendReceivePaymentAddRq();


            PaymentAddRq.CustomerRef.FullName.SetValue(Payment.CustomerName);
            PaymentAddRq.Memo.SetValue(Payment.Memo);
            PaymentAddRq.TotalAmount.SetValue(Payment.TotalAmount);

            //Adding Invoice Reference ......
            if (!string.IsNullOrEmpty(Payment.InvoiceTxnID))
            {
                IAppliedToTxnAdd TxnAdd = PaymentAddRq.ORApplyPayment.AppliedToTxnAddList.Append();
                TxnAdd.TxnID.SetValue(Payment.InvoiceTxnID);
                TxnAdd.PaymentAmount.SetValue(Payment.TotalAmount);
                // TxnAdd.PaymentAmount.SetValue(Payment.TotalAmount);
            }
            else
            {
                PaymentAddRq.ORApplyPayment.IsAutoApply.SetValue(true);
            }

            string xml = requestMsgSet.ToXMLString();

            responseMsgSet = sessionManager.DoRequests(requestMsgSet);

            if (responseMsgSet.ResponseList.GetAt(0).StatusCode == 0)
            {
                IResponse response = responseMsgSet.ResponseList.GetAt(0);

                //the request-specific response is in the details, make sure we have some
                if (response.Detail != null)
                {
                    //make sure the response is the type we're expecting
                    ENResponseType responseType = (ENResponseType)response.Type.GetValue();
                    if (responseType == ENResponseType.rtReceivePaymentAddRs)
                    {
                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                        IReceivePaymentRet PaymentRet = (IReceivePaymentRet)response.Detail;
                        if (PaymentRet != null)
                        {
                            return(PaymentRet.EditSequence.GetValue());
                        }
                    }
                }
                return("-1");
            }
            else
            {
                throw new QBException(responseMsgSet.ResponseList.GetAt(0).StatusCode, "QBEngine :" + responseMsgSet.ResponseList.GetAt(0).StatusMessage, requestMsgSet.ToXMLString());
                return("-1");
            }
        }
Beispiel #12
0
 public ActionResult Student(StudentTableRowModels model)
 {
     using (IHoneyMustardDataSource ds = Factories.DataSourceFactory.GetDataSource())
     {
         if (ModelState.IsValid)
         {
             ReceivePayment payment = new ReceivePayment();
             payment.AmountPaid      = model.AmountPaid;
             payment.Date            = model.Date;
             payment.PaymentMethodID = int.Parse(model.PaymentMethod);
             payment.CoursesID       = int.Parse(model.CourseName);
             payment.ParticipantID   = ds.Participant.SingleOrDefault(x => x.ContactID == model.ContactID).ParticipantID;
             ds.ReceivePayment.Add(payment);
             ds.SaveChanges();
         }
         return(RedirectToAction("Student", new { id = model.ContactID }));
     }
 }
 public void Delete(ReceivePayment payment)
 {
     _iDReceivePayment.Delete(EReceivePayment(payment));
 }
        public ReceivePayment Update(ReceivePayment payment)
        {
            var eReceivePayment = _iDReceivePayment.Update(EReceivePayment(payment));

            return(ReceivePayment(eReceivePayment));
        }
 private ReceivePayment readReceivePayment( IReceivePaymentRet receiveCheckRet)
 {
     ReceivePayment receivePayment = new ReceivePayment();
     receivePayment.Date = receiveCheckRet.TxnDate.GetValue();
     receivePayment.RefNumber = receiveCheckRet.RefNumber.GetValue();
     receivePayment.Amount = receiveCheckRet.TotalAmount.GetValue();
     receivePayment.Customer = receiveCheckRet.CustomerRef.FullName.GetValue();
     return receivePayment;
 }