public JsonResult Delete(long id) { try { logger.DebugFormat("Deleting Bank Transaction With BankTransactionId [{0}] ", id); if (!PermissionControl.CheckPermission(UserAppPermissions.BankTransaction_Delete)) { logger.Info("Don't have right to delete bank transaction."); return(Json(new { Message = Resources.Messages.MSG_RESTRICTED_ACCESS, MessageClass = MessageClass.Error, Response = false })); } CompanyBankTransaction transaction = bankTransactionManagement.GetCompanyBankTransaction(id); if (transaction.TransactionDate.Date < DateTime.Now.AddDays(-1).Date) { return(Json(new { Message = Resources.Messages.MSG_GENERIC_DELETE_RECORD, MessageClass = MessageClass.Error, Response = false })); } transaction.IsDeleted = true; transaction.LastModifiedBy = new Guid(User.Identity.GetUserId()); if (bankTransactionManagement.Delete(transaction)) { bankTransactionManagement.SaveCompanyBankTransaction(); logger.Info("Bank Transaction Successfully Deleted"); if (transaction.CategoryType == CompanyType.Inter) { var reversal = bankTransactionManagement.GetInterCompanyReversalTransaction(transaction.ReferenceID, transaction.CompanyBankTransactionID); if (reversal != null) { reversal.LastModifiedBy = new Guid(User.Identity.GetUserId()); reversal.IsDeleted = true; bankTransactionManagement.Delete(reversal); bankTransactionManagement.SaveCompanyBankTransaction(); logger.Info("Successfully Deleted Inter Company 2nd Bank Transaction"); } } return(Json(new { Message = Resources.Messages.MSG_GENERIC_DELETE_SUCCESS, MessageClass = MessageClass.Success, Response = true })); } else { logger.Info("Bank Transaction Not Deleted"); return(Json(new { Message = Resources.Messages.MSG_GENERIC_DELETE_FAILED, MessageClass = MessageClass.Error, Response = false })); } } catch (Exception ex) { logger.ErrorFormat("Exception Raised : Message[{0}] Stack Trace [{1}] ", ex.Message, ex.StackTrace); return(Json(new { Message = Resources.Messages.MSG_GENERIC_DELETE_FAILED, MessageClass = MessageClass.Error, Response = false })); } }
private string CheckCategoryValidation(CompanyBankTransaction model) { if ((model.CategoryType == CompanyType.Client) && (model.CategoryClientID == null)) { return(Resources.Messages.MSG_CATEGORY_CLIENT_REQUIRED); } else if ((model.CategoryType == CompanyType.Vendor) && (model.CategoryVendorID == null)) { return(Resources.Messages.MSG_CATEGORY_VENDOR_REQUIRED); } else if ((model.CategoryType == EntityType.Consultant) && (model.CategoryConsultantID == null)) { return(Resources.Messages.MSG_CATEGORY_CONSULTANT_REQUIRED); } return(string.Empty); }
public ActionResult AddEdit(int id) { ViewBag.Title = "Add/Update Bank Transaction"; var transaction = bankTransactionManagement.GetCompanyBankTransaction(id); if (transaction == null) { transaction = new CompanyBankTransaction(); } transaction.CompanyBankAccounts = companyManagment.GetCompanyBankAccounts(); transaction.CategoryVendors = companyManagment.GetAllVendorCompanies(); transaction.CategoryClients = companyManagment.GetAllClientCompanies(); transaction.CategoryConsultants = consultantManagment.GetAllConsultants(); return(PartialView("_AddEditBankTransaction", transaction)); }
private void SetCategoryTypeID(CompanyBankTransaction model) { if (model.CategoryType == CompanyType.Client) { model.CategoryReferenceID = model.CategoryClientID; model.ToCompanyBankID = null; } else if (model.CategoryType == CompanyType.Vendor) { model.CategoryReferenceID = model.CategoryVendorID; model.ToCompanyBankID = null; } else if (model.CategoryType == EntityType.Consultant) { model.CategoryReferenceID = model.CategoryConsultantID; model.ToCompanyBankID = null; } else if (model.CategoryType == EntityType.AutoDebit || model.CategoryType == EntityType.Other) { model.CategoryReferenceID = null; model.ToCompanyBankID = null; } }
public JsonResult AddEdit(CompanyBankTransaction model) { try { if (ModelState.IsValid) { if (model.CategoryType == CompanyType.Inter && model.CompanyBankID == model.ToCompanyBankID) { return(Json(new { Message = Resources.Messages.MSG_FROM_INTER_COMAPNY_TO_SAME_COMAPANY_NOTALLOWED, MessageClass = MessageClass.Error, Response = false })); } string message = CheckCategoryValidation(model); if (!string.IsNullOrEmpty(message)) { return(Json(new { Message = message, MessageClass = MessageClass.Error, Response = false })); } if (model.CompanyBankTransactionID == 0) { Guid referenceId = Guid.NewGuid(); logger.DebugFormat("Add Bank Transaction with TransactionDate [{0}], CompanyBankID [{1}], CategoryType [{2}], CategoryReferenceID [{3}], Amount [{4}] , CompanyBankID [{5}] , PaymentType[{6}] , TransactionType [{7}] , TransactionStatus [{8}], ReferenceId [{9}]", model.TransactionDate, model.CompanyBankID, model.CategoryType, model.CategoryReferenceID, model.Amount, model.CompanyBankID, model.PaymentType, model.TransactionType, model.TransactionStatus, referenceId); if (!PermissionControl.CheckPermission(UserAppPermissions.BankTransaction_Add)) { logger.Info("Don't have rights to add Bank Transaction"); return(Json(new { Message = Resources.Messages.MSG_RESTRICTED_ACCESS, MessageClass = MessageClass.Error, Response = false })); } SetCategoryTypeID(model); model.CreatedBy = new Guid(User.Identity.GetUserId()); model.LastModifiedBy = new Guid(User.Identity.GetUserId()); model.ReferenceID = referenceId; if (bankTransactionManagement.Add(model)) { bankTransactionManagement.SaveCompanyBankTransaction(); logger.Info("Successfully Saved Bank Transaction"); //Reversal entery for Inter Company case. if (model.CategoryType == CompanyType.Inter) { long companyId = model.CompanyBankID; long?toCompanyId = model.ToCompanyBankID; model.CompanyBankID = Convert.ToInt64(toCompanyId); model.ToCompanyBankID = companyId; model.TransactionType = model.TransactionType == "Receipt" ? "Payment" : "Receipt"; bankTransactionManagement.Add(model); bankTransactionManagement.SaveCompanyBankTransaction(); logger.Info("Successfully Saved Inter Company 2nd Bank Transaction"); } return(Json(new { Message = string.Format(Resources.Messages.MSG_GENERIC_ADD_SUCCESS, "Transaction"), MessageClass = MessageClass.Success, Response = true })); } else { if (model != null) { model.CompanyBankAccounts = companyManagment.GetCompanyBankAccounts(); model.CategoryVendors = companyManagment.GetAllVendorCompanies(); model.CategoryClients = companyManagment.GetAllClientCompanies(); model.CategoryConsultants = consultantManagment.GetAllConsultants(); } logger.Info("Not Saved Bank Transaction"); return(Json(new { Message = string.Format("Validation Failded", "Transaction"), MessageClass = MessageClass.Error, Response = false })); } } else { logger.DebugFormat("Update Bank Transaction with TransactionDate [{0}], CompanyBankID [{1}], CategoryType [{2}], CategoryReferenceID [{3}], Amount [{4}] , CompanyBankID [{5}] , PaymentType[{6}] , TransactionType [{7}] , TransactionStatus [{8}], CompanyBankTransactionID[{9}] , ReferenceId [{10}]", model.TransactionDate, model.CompanyBankID, model.CategoryType, model.CategoryReferenceID, model.Amount, model.CompanyBankID, model.PaymentType, model.TransactionType, model.TransactionStatus, model.CompanyBankTransactionID, model.ReferenceID); if (!PermissionControl.CheckPermission(UserAppPermissions.BankTransaction_Edit)) { logger.Info("Don't have rights to update Bank Transaction"); return(Json(new { Message = Resources.Messages.MSG_RESTRICTED_ACCESS, MessageClass = MessageClass.Error, Response = false })); } SetCategoryTypeID(model); model.LastModifiedBy = new Guid(User.Identity.GetUserId()); if (bankTransactionManagement.Update(model)) { bankTransactionManagement.SaveCompanyBankTransaction(); logger.Info("Successfully Updated Bank Transaction"); if (model.CategoryType == CompanyType.Inter) { var reversal = bankTransactionManagement.GetInterCompanyReversalTransaction(model.ReferenceID, model.CompanyBankTransactionID); if (reversal != null) { long companyId = model.CompanyBankID; long?toCompanyId = model.ToCompanyBankID; reversal.CompanyBankID = Convert.ToInt64(toCompanyId); reversal.ToCompanyBankID = companyId; reversal.TransactionType = model.TransactionType == "Receipt" ? "Payment" : "Receipt"; reversal.PaymentType = model.PaymentType; reversal.Description = model.Description; reversal.Amount = model.Amount; reversal.TransactionDate = model.TransactionDate; reversal.TransactionStatus = model.TransactionStatus; reversal.CreatedOn = model.CreatedOn; reversal.LastModified = model.LastModified; reversal.ReceiptNumber = model.ReceiptNumber; reversal.LastModifiedBy = new Guid(User.Identity.GetUserId()); bankTransactionManagement.Update(reversal); bankTransactionManagement.SaveCompanyBankTransaction(); logger.Info("Successfully Updated Inter Company 2nd Bank Transaction"); } } return(Json(new { Message = string.Format(Resources.Messages.MSG_GENERIC_UPDATE_SUCCESS, "Transaction"), MessageClass = MessageClass.Success, Response = true })); } else { if (model != null) { model.CompanyBankAccounts = companyManagment.GetCompanyBankAccounts(); model.CategoryVendors = companyManagment.GetAllVendorCompanies(); model.CategoryClients = companyManagment.GetAllClientCompanies(); model.CategoryConsultants = consultantManagment.GetAllConsultants(); } logger.Info("Not Updated Bank Transaction"); return(Json(new { Message = string.Format("Validation Failded", "Transaction"), MessageClass = MessageClass.Error, Response = false })); } } } else { if (model != null) { model.CompanyBankAccounts = companyManagment.GetCompanyBankAccounts(); model.CategoryVendors = companyManagment.GetAllVendorCompanies(); model.CategoryClients = companyManagment.GetAllClientCompanies(); model.CategoryConsultants = consultantManagment.GetAllConsultants(); } logger.Info("Validation Issue Found Bank Transaction"); return(Json(new { Message = string.Format(Resources.Messages.MSG_GENERIC_ADD_FAILED, "Transaction"), MessageClass = MessageClass.Error, Response = false })); } } catch (Exception ex) { logger.ErrorFormat("Exception Raised : Message[{0}] Stack Trace [{1}] ", ex.Message, ex.StackTrace); return(Json(new { Message = Resources.Messages.MSG_GENERIC_FAILED, MessageClass = MessageClass.Error, Response = false })); } }
public bool Update(CompanyBankTransaction model) { return(bankTransactionRepository.Update(model)); }
public bool Delete(CompanyBankTransaction transaction) { return(bankTransactionRepository.Update(transaction)); }
public bool Add(CompanyBankTransaction model) { return(bankTransactionRepository.Add(model)); }