예제 #1
0
        /// <summary>
        /// Created By : Ashwajit Bansod
        /// Created Date : 26-OCT-2018
        /// Created for : To save Payment data to database.
        /// </summary>
        /// <param name="objPaymentModel"></param>
        /// <param name="ObjData"></param>
        /// <returns></returns>
        public string MakePayment(PaymentModel objPaymentModel, PaymentModel ObjData)
        {
            string result        = "";
            string Action        = "";
            string Status        = "Y";
            string PaidStatus    = "";
            var    objDAR        = new DARModel();
            var    CommonManager = new CommonMethodManager();

            try
            {
                if (objPaymentModel != null && ObjData != null)
                {
                    var ChequeNo = Convert.ToInt32(objPaymentModel.ChequeNo);
                    PaidStatus = "Paid";
                    if (objPaymentModel.ChequeNo != null)
                    {
                        objPaymentModel.Comment = ChequeNo.ToString();
                    }
                    else if (objPaymentModel.AccNo != null && objPaymentModel.IsCancel == false)
                    {
                        ObjData.VendorId        = 0;
                        objPaymentModel.Comment = objPaymentModel.AccNo;
                    }
                    else if (objPaymentModel.CARDNo != null && objPaymentModel.IsCancel == false)
                    {
                        objPaymentModel.Comment = objPaymentModel.CARDNo;
                    }
                    else if (objPaymentModel.AccountNo != null && objPaymentModel.IsCancel == false)
                    {
                        objPaymentModel.Comment = objPaymentModel.AccountNo;
                    }
                    else if (objPaymentModel.Comment != null && objPaymentModel.IsCancel == true)
                    {
                        objPaymentModel.Comment = objPaymentModel.Comment;
                        Status     = "X";
                        PaidStatus = "Canceled";
                    }
                    Action = "I";
                    if (objPaymentModel.IsCancel == false)
                    {
                        var savePayment = _workorderems.spSetCompanyAccountTransaction(Action, null, ObjData.VendorId, objPaymentModel.OpeartorCAD_Id, objPaymentModel.CompanyAccountId,
                                                                                       ObjData.BillNo, ObjData.BillAmount, ChequeNo,
                                                                                       objPaymentModel.Comment, objPaymentModel.UserId, ObjData.LocationId,
                                                                                       ObjData.BillType, Status);
                    }
                    if (Status == "Y")
                    {
                        Status = "P";
                    }
                    var changeStatus = _workorderems.spSetPaymentStatusForBill(ObjData.LLBL_ID, objPaymentModel.Comment, Status,
                                                                               objPaymentModel.UserId);
                    result = CommonMessage.PaymentSave();
                }
                else
                {
                    result = CommonMessage.PaymentError();
                }
                #region Save DAR
                var userData = _workorderems.UserRegistrations.Where(x => x.UserId == objPaymentModel.UserId &&
                                                                     x.IsDeleted == false && x.IsEmailVerify == true).FirstOrDefault();
                var locationData = _workorderems.LocationMasters.Where(x => x.LocationId == ObjData.LocationId &&
                                                                       x.IsDeleted == false).FirstOrDefault();
                objDAR.ActivityDetails = DarMessage.PaymentPaidCancel(userData.FirstName + "" + userData.LastName, locationData.LocationName, PaidStatus, ObjData.BillNo);
                long userId = Convert.ToInt64(objPaymentModel.UserId);
                objDAR.TaskType   = (long)TaskTypeCategory.PaymentApporveCancel;
                objDAR.UserId     = userId;
                objDAR.CreatedBy  = userId;
                objDAR.LocationId = Convert.ToInt64(objPaymentModel.LocationId);
                objDAR.CreatedOn  = DateTime.UtcNow;
                CommonManager.SaveDAR(objDAR);
                #endregion DAR
            }
            catch (Exception ex)
            {
                Exception_B.Exception_B.exceptionHandel_Runtime(ex, "public string MakePayment(PaymentModel objPaymentModel)", "Exception While Saving Payment.", objPaymentModel);
                throw;
            }
            return(result);
        }