public bool IsTotalMatch(VoucherEntry voucherEntry) { var creditTotal = voucherEntry.VoucherDetails.Sum(voucherDetail => voucherDetail.Credit); var debitTotal = voucherEntry.VoucherDetails.Sum(voucherDetail => voucherDetail.Debit); return(creditTotal == debitTotal); }
public HttpResponseMessage Delete([FromUri] int id, [FromBody] int modifiedBy) { VoucherEntry Report = new VoucherEntry(); Report.ID = id; Report.ModifiedBy = modifiedBy; return(Request.CreateResponse(HttpStatusCode.OK, Report.Delete())); }
public List <VoucherEntry> FindEntrys(long id) { VoucherEntry entity = new VoucherEntry { id = id }; return(DataManager.GetInstance(mContext).Query(entity)); }
public HttpResponseMessage Save(VoucherEntry voucher) { if (voucher.groupID == 0) { return(Request.CreateResponse(HttpStatusCode.OK, voucher.Save(voucher.VoucherType, voucher.AccountHead, voucher.AccountChild, voucher.Amount, voucher.CostCenter, voucher.Jobs, voucher.EntryDesc))); } else { return(Request.CreateResponse(HttpStatusCode.OK, voucher.Update(voucher.VoucherType, voucher.AccountHead, voucher.AccountChild, voucher.Amount, voucher.CostCenter))); } }
public static void LoadVoucherTypesForEntry(this DropDownList ddl, int CompanyId) { DataTable dt = VoucherEntry.getVoucherTypesForEntry(); ddl.Items.Clear(); ddl.Items.Add(new ListItem("--select--", "0")); if (dt != null) { foreach (DataRow item in dt.Rows) { ddl.Items.Add(new ListItem(item["Fvt_TypeName"].ToString(), item["Fvt_ID"].ToString())); } } }
public override async Task <Guid> HandleAsync(CreateVoucherCommand request, CancellationToken cancellationToken) { Guid voucherId; VoucherEntry voucherEntry = MapVoucherEntry(request, out voucherId); if (!voucherValidations.IsTotalMatch(voucherEntry)) { throw new VoucherEntryTotalException(); } await accountDBContext.VoucherEntries.InsertAsync(request.TenantId, request.AccountId, cancellationToken, voucherEntry); return(voucherId); }
public static void LoadAccountHeadsVoucher(this DropDownList ddl, int CompanyId) { DataTable dt = VoucherEntry.GetAccountHeadsVoucher(); ddl.Items.Clear(); ddl.Items.Add(new ListItem("--Select--", "")); if (dt != null) { foreach (DataRow item in dt.Rows) { ListItem items = new ListItem(item["name"].ToString(), item["parent"].ToString() + "|" + item["ID"].ToString()); ddl.Items.Add(items); } } }
private static VoucherEntryDescriptorDto MapToVoucherEntryDescriptor(VoucherEntry entry) { return(new VoucherEntryDescriptorDto { Id = entry.Id, VoucherEntryType = entry.VoucherEntryType, AccountNumber = entry.HasSubledgerAccount ? entry.SubledgerAccount.Number : entry.LedgerAccount.Number, AccountName = entry.HasSubledgerAccount ? entry.SubledgerAccount.Name : entry.LedgerAccount.Name, Sector = entry.Sector.Code, ResponsibilityArea = entry.ResponsibilityArea.Name, VerificationNumber = entry.VerificationNumber, Currency = $"{entry.Currency.Code} / {entry.Currency.Abbrev}", ExchangeRate = entry.ExchangeRate, Partial = entry.VoucherEntryType == VoucherEntryType.Debit ? entry.Debit : entry.Credit, Debit = entry.Debit, Credit = entry.Credit, ItemType = entry.HasSubledgerAccount ? VoucherEntryItemType.PartialEntry : VoucherEntryItemType.AccountEntry }); }
public ActionResult VoucherEntry(VoucherEntry objmodels) { objmodels.AccountsID = Request.Form["account_nameId"]; objmodels.VoucharID = Request.Form["voucher_nameId"]; objmodels.VoucharName = Request.Form["voucher_name"]; objmodels.RefVoucharNo = Request.Form["RefVoucharNo"]; objmodels.CurrentDate = Convert.ToDateTime(Request.Form["current_date"]).ToString("yyyy-MM-dd"); objmodels.VoucharDate = Convert.ToDateTime(Request.Form["voucher_date"]).ToString("yyyy-MM-dd"); objmodels.VoucharAccountName = Request.Form["account_name"]; objmodels.VoucharDrAmount = Request.Form["dr_amount"]; objmodels.VoucharCrAmount = Request.Form["cr_amount"]; objmodels.AccountName = Request.Form["AccountName"]; objmodels.AccountsIDTable = Request.Form["account_name_otherId"]; objmodels.DrAmount = Request.Form["Dramt"]; objmodels.CrAmount = Request.Form["Cramt"]; objmodels.ChequeNo = Request.Form["Cheq"]; objmodels.BankName = Request.Form["Bank"]; objmodels.Date = Request.Form["date"]; objmodels.Narration = Request.Form["Narr"]; //objmodels.ChequeClearDate = Request.Form["chq_date"]; objmodels.InvNo = Request.Form["inv_no"]; try { if (objbl.Save(objmodels)) { objmodels.dsbank = objbl.GetAllBank(); ModelState.Clear(); TempData["msg"] = "Voucher Entry Save Successfully"; } else { TempData["msg"] = "Voucher Entry Not Save"; } } catch (Exception) { throw; } return(View()); }
private static VoucherEntryDto MapEntry(VoucherEntry entry) { return(new VoucherEntryDto { Id = entry.Id, VoucherEntryType = entry.VoucherEntryType, LedgerAccount = entry.LedgerAccount.MapToNumberedNamedEntity(), Sector = entry.Sector.MapToNamedEntity(), SubledgerAccount = entry.SubledgerAccount.MapToNumberedNamedEntity(), Concept = entry.Concept, Date = entry.Date, ResponsibilityArea = entry.ResponsibilityArea.MapToNamedEntity(), BudgetConcept = entry.BudgetConcept, AvailabilityCode = entry.AvailabilityCode, // EventType = entry.EventType, VerificationNumber = entry.VerificationNumber, Currency = entry.Currency.MapToNamedEntity(), Debit = entry.Debit, Credit = entry.Credit, Amount = entry.Amount, BaseCurrencyAmount = entry.BaseCurrrencyAmount, ExchangeRate = entry.ExchangeRate }); }
public HttpResponseMessage GeVoucherNumber([FromBody] int CompanyId, [FromUri] int Voucher) { return(Request.CreateResponse(HttpStatusCode.OK, VoucherEntry.GetVoucherNumber(Voucher))); }
void ExecCarriedForward(string taskId, string procName, Dictionary <string, object> paramMap) { if (paramMap == null) { paramMap = new Dictionary <string, object>(); } RefreshTaskResult(taskId, ExecTaskType.CarriedForward.ToString(), 0, "开始执行", ""); Auxiliary auxFilter = new Auxiliary() { type = (int)AuxiliaryType.CarriedForward, no = procName }; var lst = DataManager.GetInstance(mContext).Query(auxFilter); if (lst == null || lst.Count == 0) { throw new FinanceException(FinanceResult.RECORD_NOT_EXIST, "结转方式不存在"); } var auxObj = lst.FirstOrDefault(); var templateList = TemplateSevice.GetInstance(mContext).ListCarriedForwardTemplate(auxObj.id); if (templateList == null || templateList.Count == 0) { throw new FinanceException(FinanceResult.RECORD_NOT_EXIST, "结转模板不存在"); } var year = SystemProfileService.GetInstance(mContext).GetInt(SystemProfileCategory.Account, SystemProfileKey.CurrentYear); var period = SystemProfileService.GetInstance(mContext).GetInt(SystemProfileCategory.Account, SystemProfileKey.CurrentPeriod); var dbHelper = DBHelper.GetInstance(mContext); //1、检查是否还有未过账 if (dbHelper.Exist(string.Format("select 1 from _VoucherHeader where _year = {0} and _period = {1} and _status < {2} and _status <> {3}" , year, period, (int)VoucherStatus.Posted, (int)VoucherStatus.Canceled))) { throw new FinanceException(FinanceResult.INCORRECT_STATE, "当前凭证没有全部过账"); } //2、生成凭证 var direction = 1; switch (auxObj.description) { case "income": break; case "cost": direction = -1; break; case "investment": break; case "profits": break; } var word = "转"; if (paramMap.ContainsKey("word")) { word = paramMap["word"].ToString(); } var explanation = auxObj.name; if (paramMap.ContainsKey("explanation")) { explanation = paramMap["explanation"].ToString(); } var lstAccountObject = AccountSubjectService.GetInstance(mContext).List(); var lstEntries = new List <VoucherEntry>(); var index = 0; foreach (var temp in templateList) { var srcActObj = lstAccountObject.FirstOrDefault(actObj => actObj.id == temp.src); var dstActObj = lstAccountObject.FirstOrDefault(actObj => actObj.id == temp.dst); if (srcActObj == null || dstActObj == null) { throw new FinanceException(FinanceResult.RECORD_NOT_EXIST, "结转模板数据错误"); } var amountObj = dbHelper.ExecuteScalar(string.Format(@"select sum(_amount * _direction) as _amount from _VoucherEntry where _accountSubjectId = {0} and _id in (select _id from _VoucherHeader where _year = {1} and _period = {2})", temp.src, year, period)); if (amountObj == null || amountObj == DBNull.Value) { continue; } var amount = (decimal)amountObj; if (amount < 0) { direction = -1 * direction; amount = -1 * amount; } var voucherEntrySrc = new VoucherEntry(); voucherEntrySrc.index = index++; voucherEntrySrc.accountSubjectId = temp.src; voucherEntrySrc.accountSubjectNo = srcActObj.no; voucherEntrySrc.amount = amount; voucherEntrySrc.direction = direction; voucherEntrySrc.explanation = explanation; lstEntries.Add(voucherEntrySrc); var voucherEntryDst = new VoucherEntry(); voucherEntryDst.index = index++; voucherEntryDst.accountSubjectId = temp.dst; voucherEntryDst.accountSubjectNo = dstActObj.no; voucherEntryDst.amount = amount; voucherEntryDst.direction = -1 * direction; voucherEntryDst.explanation = explanation; lstEntries.Add(voucherEntryDst); } if (lstEntries.Count == 0) { throw new FinanceException(FinanceResult.RECORD_NOT_EXIST, "没有需要结转的凭证"); } var voucherHeader = new VoucherHeader(); voucherHeader.word = word; voucherHeader.year = year; voucherHeader.period = period; voucherHeader.date = CommonUtils.CalcMaxPeriodDate(year, period); var now = DateTime.Now; voucherHeader.businessDate = now; voucherHeader.creatTime = now; voucherHeader.creater = 13594; Voucher voucher = new Voucher(); voucher.header = voucherHeader; voucher.entries = lstEntries; var id = VoucherService.GetInstance(mContext).Add(voucher); var h = VoucherService.GetInstance(mContext).FindHeader(id); var msg = string.Format("结转成功,凭证字号:{0} - {1};", h.word, h.no); RefreshTaskResult(taskId, ExecTaskType.CreateVoucher.ToString(), 100, "", msg, 1); }
public bool Save(VoucherEntry obj) { Connect(); try { string[] AccountName = obj.AccountName.Split(','); AccountName = AccountName.Where(name => !string.IsNullOrEmpty(name)).ToArray(); string[] account_name_otherId = obj.AccountsIDTable.Split(','); string[] DrAmount = obj.DrAmount.Split(','); DrAmount = DrAmount.Where(name => !string.IsNullOrEmpty(name)).ToArray(); string[] CrAmount = obj.CrAmount.Split(','); CrAmount = CrAmount.Where(name => !string.IsNullOrEmpty(name)).ToArray(); string[] ChequeNo = obj.ChequeNo.Split(','); string[] BankName = obj.BankName.Split(','); string[] Date = obj.Date.Split(','); //string[] ChequeClearDate = obj.ChequeClearDate.Split(','); string[] InvNo = obj.InvNo.Split(','); SqlCommand cmd = new SqlCommand("IUVoucharEntry", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@HospitalID", HospitalID); cmd.Parameters.AddWithValue("@LocationID", LocationID); if (obj.ReferenceCode == null) { cmd.Parameters.AddWithValue("@ReferenceCode", 0); } else { cmd.Parameters.AddWithValue("@ReferenceCode", obj.ReferenceCode); } if (obj.VoucharEntryID == "0" || obj.VoucharEntryID == null) { cmd.Parameters.AddWithValue("@VoucharEntryID", 0); cmd.Parameters["@VoucharEntryID"].Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@Mode", "Add"); } else { cmd.Parameters.AddWithValue("@VoucharEntryID", obj.VoucharEntryID); cmd.Parameters.AddWithValue("@Mode", "Edit"); } //cmd.Parameters.AddWithValue("@VoucharEntryID", 0); //cmd.Parameters["@VoucharEntryID"].Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@AccountsID", obj.AccountsID); cmd.Parameters.AddWithValue("@VoucharID", obj.VoucharID); cmd.Parameters.AddWithValue("@VoucharName", obj.VoucharName); cmd.Parameters.AddWithValue("@RefVoucharNo", obj.RefVoucharNo); cmd.Parameters.AddWithValue("@CurrentDate", obj.CurrentDate); cmd.Parameters.AddWithValue("@VoucharDate", obj.VoucharDate); cmd.Parameters.AddWithValue("@Narration", obj.Narration); cmd.Parameters.AddWithValue("@VoucharAccountName", obj.VoucharAccountName); cmd.Parameters.AddWithValue("@VoucharDrAmount", obj.VoucharDrAmount); cmd.Parameters.AddWithValue("@VoucharCrAmount", obj.VoucharCrAmount); cmd.Parameters.AddWithValue("@CreationID", UserID); //cmd.Parameters.AddWithValue("@Mode", "Add"); con.Open(); int i = cmd.ExecuteNonQuery(); obj.VoucharEntryID = Convert.ToString(cmd.Parameters["@VoucharEntryID"].Value); con.Close(); if (i > 0) { for (int k = 0; k < AccountName.Length; k++) { SqlCommand cmd1 = new SqlCommand("IUVoucharEntryDetail", con); cmd1.CommandType = CommandType.StoredProcedure; cmd1.Parameters.AddWithValue("@HospitalID", HospitalID); cmd1.Parameters.AddWithValue("@LocationID", LocationID); if (obj.VoucharEntryDetailID == null || obj.VoucharEntryDetailID == "") { cmd1.Parameters.AddWithValue("@VoucharEntryDetailID", 0); cmd1.Parameters.AddWithValue("@Mode", "Add"); } else { cmd1.Parameters.AddWithValue("@VoucharEntryDetailID", obj.VoucharEntryDetailID); cmd1.Parameters.AddWithValue("@Mode", "Edit"); } //cmd1.Parameters.AddWithValue("@VoucharEntryDetailID", 0); cmd1.Parameters.AddWithValue("@VoucharEntryID", obj.VoucharEntryID); cmd1.Parameters.AddWithValue("@VoucharID", obj.VoucharID); cmd1.Parameters.AddWithValue("@VoucharName", obj.VoucharName); cmd1.Parameters.AddWithValue("@AccountsID", account_name_otherId[k]); cmd1.Parameters.AddWithValue("@AccountName", AccountName[k]); cmd1.Parameters.AddWithValue("@DrAmount", DrAmount[k]); cmd1.Parameters.AddWithValue("@CrAmount", CrAmount[k]); //cmd1.Parameters.AddWithValue("@ChequeClearDate",ChequeClearDate[k]); cmd1.Parameters.AddWithValue("@InvNo", InvNo[k]); cmd1.Parameters.AddWithValue("@ChequeNo", ChequeNo[k]); cmd1.Parameters.AddWithValue("@Name", BankName[k]); cmd1.Parameters.AddWithValue("@Date", Date[k]); cmd1.Parameters.AddWithValue("@Narration", obj.Narration); cmd1.Parameters.AddWithValue("@CreationID", UserID); //cmd1.Parameters.AddWithValue("@Mode", "Add"); con.Open(); int j = cmd1.ExecuteNonQuery(); con.Close(); } } } catch (Exception ex) { } return(true); }
public static OutputMessage SettleBills(dynamic Settlement) { DBManager db = new DBManager(); try { string Accounts = ""; string AmountString = ""; string Child = ""; string VoucherType = "0|1"; VoucherEntry voucher = new VoucherEntry(); voucher.VoucherTypeID = 4; voucher.VoucherNo = 0; voucher.Description = "C R"; voucher.AmountNew = Convert.ToDecimal(Settlement.PayingAmount); voucher.Frm_TransID = 2; voucher.FrmTransChildID = Convert.ToInt32(Settlement.PartyId); string payby = Convert.ToString(Settlement.PayBy); if (payby == "Cheque" || payby == "Bank") { voucher.IsCheque = 1; voucher.ChequeDate = ((string)(Settlement.ChequeDate)).IsValidDate() ? Convert.ToDateTime(Settlement.ChequeDate) : null; voucher.ChequeNo = Settlement.ChequeNumber == "" ? null : Settlement.ChequeNumber; voucher.ToTransID = Settlement.PayBank; //Parent Group for bank heads voucher.ToTransChildID = 0; //Selected Bank Head id } else if (payby == "Cash") { voucher.IsCheque = 0; voucher.ChequeDate = null; voucher.ChequeNo = null; voucher.ToTransID = 6; voucher.ToTransChildID = 0; } voucher.IsVoucher = 1; string costcenter = "1`" + voucher.AmountNew + "|1`" + voucher.AmountNew; voucher.CostCenter = costcenter; voucher.Date = Convert.ToDateTime(Settlement.Date); voucher.CreatedBy = Convert.ToInt32(Settlement.UserId); voucher.Drawon = Convert.ToString(Settlement.DrawOn); OutputMessage result = null; Accounts = voucher.Frm_TransID + "|" + voucher.ToTransID; Child = voucher.FrmTransChildID + "|" + voucher.ToTransChildID; AmountString = voucher.AmountNew + "|" + voucher.AmountNew; voucher.username = ""; result = voucher.Save(VoucherType, Accounts, Child, AmountString, voucher.CostCenter, "", ""); if (result.Success) { int GroupID = Convert.ToInt32(result.Object); db.Open(); db.BeginTransaction(); for (int i = 0; i < Settlement.Bills.Count; i++) { for (int j = 0; j < Settlement.Bills[i].Vouchers.Count; j++) { int Id = Convert.ToInt32(Settlement.Bills[i].Vouchers[j].Id) != 0 ? Convert.ToInt32(Settlement.Bills[i].Vouchers[j].Id) : GroupID; decimal Amount = Convert.ToDecimal(Settlement.Bills[i].Vouchers[j].Amount); int se_id = Convert.ToInt32(Settlement.Bills[i].BillNo); int partyId = Convert.ToInt32(Settlement.PartyId); string sql = @"INSERT INTO [dbo].[TBL_FIN_CUSTOMER_RECEIPTS]([Customer_Id],[Se_Id],[Entry_Date],[Amount],[Fve_GroupID],[Created_By],[Created_Date]) VALUES(@customer_Id,@Se_Id,@Entry_Date,@Amount,@Fve_GroupID,1,Getdate())"; db.CreateParameters(5); db.AddParameters(0, "@customer_Id", partyId); db.AddParameters(1, "@Se_Id", se_id); db.AddParameters(2, "@Entry_Date", DateTime.Now); db.AddParameters(3, "@Fve_GroupID", Id); db.AddParameters(4, "@Amount", Amount); db.ExecuteNonQuery(CommandType.Text, sql); } } db.CommitTransaction(); return(new OutputMessage("Selected bills are settled", true, Type.NoError, "CustomerReciepts | Settle", System.Net.HttpStatusCode.OK)); } else { return(new OutputMessage("Failed to Make Payment", false, Type.Others, "CustomerReciepts | Settle", System.Net.HttpStatusCode.OK, result.Message)); } } catch (Exception ex) { db.RollBackTransaction(); return(new OutputMessage("Something went wrong", false, Type.NoError, "CustomerReciepts | Settle", System.Net.HttpStatusCode.InternalServerError, ex)); } }
public HttpResponseMessage Get() { return(Request.CreateResponse(HttpStatusCode.OK, VoucherEntry.GetDetails())); }
public HttpResponseMessage GetVoucherDataforPrint([FromUri] int GroupID, [FromBody] int CompanyID) { return(Request.CreateResponse(HttpStatusCode.OK, VoucherEntry.GetDataForPrint(GroupID, CompanyID))); }
public HttpResponseMessage GetHeads([FromUri] int CompanyId, [FromUri] int Credit, [FromBody] int voucher) { return(Request.CreateResponse(HttpStatusCode.OK, VoucherEntry.GetAccountHeadsVoucher(voucher, Credit, CompanyId))); }
Voucher ReadVoucher() { VoucherHeader header = new VoucherHeader(); header.agent = txtAgent.Text; header.businessDate = DateTime.Parse(dateBusinessDate.Text); header.cashier = txtCashier.Text; header.creater = DataFactory.Instance.GetCacheHashtable().Get(CacheHashkey.UserId); header.creatTime = DateTime.Now; header.date = DateTime.Parse(dateDate.Text);; header.word = cmbWords.Text; header.serialNo = int.Parse(intSn.Value.ToString()); header.reference = txtReference.Text; header.no = int.Parse(intNo.Value.ToString()); header.year = header.date.Year; header.period = header.date.Month; header.id = 0; var lst = voucherGrid.DataSource; int i = 1; List <VoucherEntry> entries = new List <VoucherEntry>(); Dictionary <string, Dictionary <string, object> > userDefineValues = new Dictionary <string, Dictionary <string, object> >(); foreach (var item in lst) { var entry = new VoucherEntry(); entry.index = i; entry.explanation = item.Content; entry.accountSubjectId = item.AccountSubjectId; entry.accountSubjectNo = item.AccountSubjectNo; if (item.DebitsAmount > 0) { entry.amount = item.DebitsAmount; entry.direction = 1; } else { entry.amount = item.CreditAmount; entry.direction = -1; } if (entry.accountSubjectId == 0 && entry.amount == 0) { continue; } entry.uniqueKey = item.UniqueKey; entries.Add(entry); if (mUserDefineDataSource.ContainsKey(item.UniqueKey)) { userDefineValues.Add(item.UniqueKey, mUserDefineDataSource[item.UniqueKey]); } i++; } Voucher v = new Voucher() { header = header, entries = entries, udefenties = userDefineValues }; return(v); }
public HttpResponseMessage GetVoucherDataforEdit([FromBody] int GroupID) { return(Request.CreateResponse(HttpStatusCode.OK, VoucherEntry.GetDataset(GroupID))); }