public static string VoucherCodeGenerate(EmVoucherType type, string voucherCode, DateTime voucherDate, int companyId) { string serialNo = GetVoucherSerialByMonth(type, voucherDate); string company = null; using (var _db = new ERP_Entities()) { company = (from r in _db.CmnCompanies where r.CompanyID == companyId select r.CompanyShortName).SingleOrDefault(); } string pvCode = null; try { var dt = voucherDate; string yy = dt.ToString("yy"); string month = dt.ToString("MM"); string date = month + "-" + yy; if (serialNo != null && serialNo.Length == 1) { pvCode = company.Trim() + "-" + voucherCode + "-" + date + "-000" + serialNo; } if (serialNo != null && serialNo.Length == 2) { pvCode = company.Trim() + "-" + voucherCode + "-" + date + "-00" + serialNo; } if (serialNo != null && serialNo.Length == 3) { pvCode = company.Trim() + "-" + voucherCode + "-" + date + "-0" + serialNo; } if (serialNo != null && serialNo.Length == 4) { pvCode = company.Trim() + "-" + voucherCode + "-" + date + "-" + serialNo; } } catch (Exception) { } return(pvCode); }
public string VoucherEdit(int userId, EmVoucherType type, string voucherCode) { try { if (VoucherDetails == null) { return("Please Provide Cash Payment Voucher Detail Information"); } if (TotalDebitAmount != TotalCreditAmount) { return("Total Debit Amount and Credit Amount must be Equal"); } if (TotalDebitAmount == 0 && TotalCreditAmount == 0) { return("Total Debit Amount and Credit Amount Zero (0) Not Allow"); } using (var _db = new ERP_Entities()) { var oldVm = _db.AccVoucherMasters.SingleOrDefault(r => r.Id == Id); if (oldVm == null) { return("Voucher not found for existing voucher no!"); } _db.Database.ExecuteSqlCommand("exec VoucherHistoryInsert {0}", oldVm.Id); oldVm.Narration = Narration; oldVm.PaymentTo = PaymentTo; oldVm.UpdatedDate = DateTime.Now; oldVm.VoucherTypeId = (int)type; if (type == EmVoucherType.BankVoucher) { oldVm.ChequeNo = ChequeNo; oldVm.ChequeDate = UniqueCode.GetDateFormat_MM_dd_yyy(ChequeDateStr); } var newDate = UniqueCode.GetDateFormat_MM_dd_yyy(VoucherDateStr); if (newDate != oldVm.VoucherDate) { oldVm.VoucherDate = newDate; oldVm.VoucherNo = UniqueCode.VoucherCodeGenerate(type, voucherCode, oldVm.VoucherDate, oldVm.CompanyId); oldVm.SerialNo = Convert.ToInt32(UniqueCode.GetVoucherSerialByMonth(type, oldVm.VoucherDate)); } var oldVd = _db.AccVoucherDetails.Where(p => p.VMasterId == Id); _db.AccVoucherDetails.RemoveRange(oldVd); foreach (var vDetail in VoucherDetails) { if (vDetail.CostCenterId != 0 && vDetail.AC5Id != 0) { if ((vDetail.DebitAmount == 0) && (vDetail.CreditAmount == 0)) { return("Please provide at lest one amount(Debit or Credit)"); } vDetail.TransactionType = vDetail.DebitAmount != 0 ? "Debit" : "Credit"; vDetail.VoucherNo = oldVm.VoucherNo; vDetail.VMasterId = oldVm.Id; vDetail.IsActive = true; _db.AccVoucherDetails.Add(vDetail.VoucherDetailEntity()); } else { return("Provide LedgerInfo and CostCenter in all field"); } } _db.Entry(oldVm).State = EntityState.Modified; _db.SaveChanges(); } // end using return("ok"); } catch { return("Please provide all information"); } }
public static string GetVoucherSerialByMonth(EmVoucherType type, DateTime voucherDate) { string id = null; try { switch (type) { case EmVoucherType.CashVoucherHeadOffice: using (var db = new ERP_Entities()) { var data = db.AccVoucherMasters.Where( r => r.VoucherTypeId == 1 && r.VoucherDate.Year == voucherDate.Year && r.VoucherDate.Month == voucherDate.Month).ToList(); id = data.Max(r => Convert.ToInt32(r.SerialNo) + 1).ToString(); } break; case EmVoucherType.BankVoucher: using (var db = new ERP_Entities()) { var data = db.AccVoucherMasters.Where( r => r.VoucherTypeId == 2 && r.VoucherDate.Year == voucherDate.Year && r.VoucherDate.Month == voucherDate.Month).ToList(); id = data.Max(r => Convert.ToInt32(r.SerialNo) + 1).ToString(); } break; case EmVoucherType.ReceiptVoucher: using (var db = new ERP_Entities()) { var data = db.AccVoucherMasters.Where( r => r.VoucherTypeId == 3 && r.VoucherDate.Year == voucherDate.Year && r.VoucherDate.Month == voucherDate.Month).ToList(); id = data.Max(r => Convert.ToInt32(r.SerialNo) + 1).ToString(); } break; case EmVoucherType.ContraVoucher: using (var db = new ERP_Entities()) { var data = db.AccVoucherMasters.Where( r => r.VoucherTypeId == 4 && r.VoucherDate.Year == voucherDate.Year && r.VoucherDate.Month == voucherDate.Month).ToList(); id = data.Max(r => Convert.ToInt32(r.SerialNo) + 1).ToString(); } break; case EmVoucherType.JournalVoucher: using (var db = new ERP_Entities()) { var data = db.AccVoucherMasters.Where( r => r.VoucherTypeId == 5 && r.VoucherDate.Year == voucherDate.Year && r.VoucherDate.Month == voucherDate.Month).ToList(); id = data.Max(r => Convert.ToInt32(r.SerialNo) + 1).ToString(); } break; case EmVoucherType.CashVoucherFactory: using (var db = new ERP_Entities()) { var data = db.AccVoucherMasters.Where( r => r.VoucherTypeId == 6 && r.VoucherDate.Year == voucherDate.Year && r.VoucherDate.Month == voucherDate.Month).ToList(); id = data.Max(r => Convert.ToInt32(r.SerialNo) + 1).ToString(); } break; default: id = "1"; break; } } catch (Exception) { id = "1"; } return(id); }
public string VoucherSave(int userId, EmVoucherType type, string voucherCode) { try { if (VoucherDetails == null) { return("Please Provide Cash Payment Voucher Detail Information"); } if (TotalDebitAmount != TotalCreditAmount) { return("Total Debit Amount and Credit Amount must be Equal"); } if (TotalDebitAmount == 0 && TotalCreditAmount == 0) { return("Total Debit Amount and Credit Amount Zero (0) Not Allow"); } Id = Convert.ToInt32(UniqueCode.GetAutoNumber("voucher")); CreatedBy = userId; CreatedDate = DateTime.Now; UpdatedBy = userId; UpdatedDate = DateTime.Now; VoucherDate = UniqueCode.GetDateFormat_MM_dd_yyy(VoucherDateStr); VoucherNo = UniqueCode.VoucherCodeGenerate(type, voucherCode, VoucherDate, CompanyId); SerialNo = Convert.ToInt32(UniqueCode.GetVoucherSerialByMonth(type, VoucherDate)); if (type == EmVoucherType.BankVoucher) { ChequeDate = UniqueCode.GetDateFormat_MM_dd_yyy(ChequeDateStr); CreatedDate = DateTime.Now; } VoucherTypeId = (int)type; IsActive = true; foreach (var vDetail in VoucherDetails) { if (vDetail.CostCenterId != 0 && vDetail.AC5Id != 0) { if ((vDetail.DebitAmount == 0) && (vDetail.CreditAmount == 0)) { return("Please provide at lest one amount(Debit or Credit)"); } vDetail.TransactionType = vDetail.DebitAmount != 0 ? "Debit" : "Credit"; vDetail.VoucherNo = VoucherNo; vDetail.VMasterId = Id; vDetail.IsActive = true; //cpv.VoucherDetails.Add(vDetail); AccVoucherDetails.Add(vDetail.VoucherDetailEntity()); } else { return("Provide LedgerInfo and CostCenter in all field"); } } AccVoucherMaster voucherMaster = VoucherMasterEntity(); using (var _db = new ERP_Entities()) { _db.AccVoucherDetails.AddRange(AccVoucherDetails); _db.AccVoucherMasters.Add(voucherMaster); _db.SaveChanges(); } return("ok"); } catch { return("Please provide all information"); } }