protected void lbtnAddVouchar_Click(object sender, EventArgs e) { if (Page.IsValid) { iBiz.FinPro.Transactions.Groups bTransGroup = new iBiz.FinPro.Transactions.Groups(); iBiz.FinPro.Transactions.Transact bTrans = new iBiz.FinPro.Transactions.Transact(); iBiz.FinPro.Transactions.Transact.objTransaction objTrans; iBiz.FinPro.Transactions.Groups.objGroup objTransGroup = new iBiz.FinPro.Transactions.Groups.objGroup(); iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts(); int defaultDept = Convert.ToInt32(ddlDefautlDept.SelectedValue); int itemsCount = 0; decimal totalDebit = 0; decimal totalCredit = 0; decimal uTotalDebit = 0; decimal uTotalCredit = 0; bool hasNoDepartment = false; int finYear = DateTime.Now.Year; if (radVoucharDate.SelectedDate.Value.Month < 6) { finYear = finYear - 1; } DateTime financialYear = Convert.ToDateTime("07/01/" + finYear.ToString()); bTrans.Delete_Untagged(thisUser); if (rptVoucherItems.Items.Count > 0) { foreach (RepeaterItem item in rptVoucherItems.Items) { foreach (Control ctrlItem in item.Controls) { if (ctrlItem is HiddenField) { if (ctrlItem.ClientID.ToLower().Contains("hfitemno")) { string itemNo, transId, showOff, accountId, deptId, description, debitAmount, creditAmount, additionalTransId; HiddenField hfINo = (HiddenField)ctrlItem; //DropDownList ddlAccounts = (DropDownList)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlAccounts")); RadComboBox ddlAccounts = (RadComboBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlAccounts")); DropDownList ddlDepts = (DropDownList)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlDept")); TextBox tbDescription = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbDescription")); TextBox tbDebitAmount = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbDebitAmount")); TextBox tbCreditAmount = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbCreditAmount")); HiddenField hfTransId = (HiddenField)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "hfTransID")); HiddenField hfAdditionalTransId = (HiddenField)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "hfAdditionalTransId")); CheckBox chkShowOff = (CheckBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "chkShowOff")); iBiz.FinPro.Accounts.objAccount objAcc = new iBiz.FinPro.Accounts.objAccount(); itemNo = hfINo.Value; transId = hfTransId.Value; accountId = ddlAccounts.SelectedValue; deptId = ddlDepts.SelectedValue; description = tbDescription.Text; debitAmount = tbDebitAmount.Text; creditAmount = tbCreditAmount.Text; additionalTransId = hfAdditionalTransId.Value; showOff = Convert.ToInt32(chkShowOff.Checked).ToString(); decimal transAmount = 0; bool isDebit = true; if (debitAmount.Trim().Length > 0 && debitAmount.Trim() != "0") { decimal.TryParse(debitAmount, out transAmount); } else { decimal.TryParse(creditAmount, out transAmount); isDebit = false; } if (transAmount > 0 && transId == "0") { if (hasNoDepartment || (Convert.ToInt32(deptId) <= 0 && defaultDept == 0)) { hasNoDepartment = true; } //Check for Additional Trans if (!string.IsNullOrEmpty(additionalTransId)) { if (additionalTransId != "0") { iBiz.FinPro.Modules.AdditionalTransactions bAdditionalTrans = new iBiz.FinPro.Modules.AdditionalTransactions(); bAdditionalTrans.Do_Transactions_For_Predefined(0, Convert.ToInt32(additionalTransId), transAmount, "Description", transAmount, moduleId, financialYear, radVoucharDate.SelectedDate.Value, thisUser, Convert.ToInt32(deptId)); } } if (Convert.ToInt32(accountId) > 0) { objTrans = new iBiz.FinPro.Transactions.Transact.objTransaction(); objTrans.transAmount = transAmount; if (isDebit) { objTrans.transDrAccount = Convert.ToInt32(accountId); totalDebit += transAmount; } else { objTrans.transCrAccount = Convert.ToInt32(accountId); totalCredit += transAmount; } objAcc = bAcc.Select(Convert.ToInt32(accountId)); if (objAcc.accountSystemIndex == 2) { objTrans.transSystemRestrict = true; } else { if (objAcc.accountSystemIndex == 1 && chkShowOff.Checked == false) { objTrans.transSystemRestrict = true; } else if (objAcc.accountSystemIndex == 1 && chkShowOff.Checked == true && isOfficial == 1) { if (isDebit) { uTotalDebit += transAmount; } else { uTotalCredit += transAmount; } } else { objTrans.transSystemRestrict = false; } } if (isDebit) { if (objTrans.transSystemRestrict) { uTotalDebit += transAmount; } } else { if (objTrans.transSystemRestrict) { uTotalCredit += transAmount; } } objTrans.transCreatedBy = thisUser; objTrans.transCreatedOn = DateTime.Now; objTrans.transGroupID = 0; objTrans.transIsCompound = true; objTrans.transNarration = description; objTrans.transStatus = 1; objTrans.transSystemIndex = (isOfficial == 1) ? 2 : 1; objTrans.deptId = Convert.ToInt32(deptId); if (deptId == "0") { objTrans.deptId = defaultDept; } objTrans.transType = 1; objTrans.transUpdatedBy = thisUser; objTrans.transUpdatedOn = DateTime.Now; bTrans.Add(objTrans); itemsCount++; } } else if (transId != "0") { if (hasNoDepartment || (Convert.ToInt32(deptId) <= 0 && defaultDept == 0)) { hasNoDepartment = true; } if (transAmount <= 0) { // Delete existing trans if (iBiz.FinPro.Rights.edit_vouchar) { bTrans.Delete(Convert.ToInt32(transId)); } } else { // Update Trans objTrans = new iBiz.FinPro.Transactions.Transact.objTransaction(); objTrans = bTrans.Select(Convert.ToInt32(transId)); if (objTrans != null) { objTrans.transAmount = transAmount; if (isDebit) { objTrans.transDrAccount = Convert.ToInt32(accountId); objTrans.transCrAccount = null; totalDebit += transAmount; } else { objTrans.transCrAccount = Convert.ToInt32(accountId); objTrans.transDrAccount = null; totalCredit += transAmount; } objAcc = bAcc.Select(Convert.ToInt32(accountId)); if (objAcc.accountSystemIndex == 2) { objTrans.transSystemRestrict = true; } else { if (objAcc.accountSystemIndex == 1 && chkShowOff.Checked == false) { objTrans.transSystemRestrict = true; } else if (objAcc.accountSystemIndex == 1 && chkShowOff.Checked == true && isOfficial == 1) { if (isDebit) { uTotalDebit += transAmount; } else { uTotalCredit += transAmount; } } else { objTrans.transSystemRestrict = false; } } if (isDebit) { if (objTrans.transSystemRestrict) { uTotalDebit += transAmount; } } else { if (objTrans.transSystemRestrict) { uTotalCredit += transAmount; } } objTrans.transNarration = description; objTrans.transStatus = 1; objTrans.transSystemIndex = (isOfficial == 1) ? 2 : 1; objTrans.transType = 1; objTrans.transUpdatedBy = thisUser; objTrans.transUpdatedOn = DateTime.Now; objTrans.deptId = Convert.ToInt32(deptId); if (deptId == "0") { objTrans.deptId = defaultDept; } bTrans.Update(objTrans); itemsCount++; } } } } } } } if (itemsCount > 0 && totalDebit == totalCredit && uTotalCredit == uTotalDebit) { int groupID = 0; if (Request.QueryString["gid"] != null) { if (!hasNoDepartment) { groupID = Convert.ToInt32(Request.QueryString["gid"]); objTransGroup = bTransGroup.Select(groupID); if (objTransGroup != null) { objTransGroup.transGroupCreatedOn = radVoucharDate.SelectedDate.Value; objTransGroup.transGroupTitle = tbDescription.Text.Trim(); objTransGroup.transGroupTotalAmount = totalCredit; objTransGroup.transTransCount = itemsCount; objTransGroup.transGroupOfficialTotalAmount = uTotalDebit; objTransGroup.transGroupRefId = tbRefId.Text; objTransGroup.transCField1 = tbCustomValue1.Text; objTransGroup.transCField2 = tbCustomValue2.Text; objTransGroup.transCField3 = tbCustomValue3.Text; objTransGroup.transCField4 = tbCustomValue4.Text; bTransGroup.Update(objTransGroup); iBiz.FinPro.Transactions.Attachments bTransAtt = new iBiz.FinPro.Transactions.Attachments(); if (groupID > 0) { if (radSyncAttachments.UploadedFiles.Count > 0) { for (int i = 0; i < radSyncAttachments.UploadedFiles.Count; i++) { string guid = Guid.NewGuid().ToString(); string fileExt = radSyncAttachments.UploadedFiles[i].GetExtension(); radSyncAttachments.UploadedFiles[i].SaveAs(Server.MapPath("~/Attachments/") + guid + fileExt, true); iBiz.FinPro.Transactions.Attachments.objAttachment objTranAtt = new iBiz.FinPro.Transactions.Attachments.objAttachment(); objTranAtt.attachmentMaskedFileName = guid + fileExt; objTranAtt.attachmentOriginalFileName = radSyncAttachments.UploadedFiles[i].FileName; objTranAtt.transGroupID = groupID; bTransAtt.Add(objTranAtt); } } } bTrans.Update_Group(thisUser, 0, groupID); bTrans.Update_Group(thisUser, -1, groupID); rnNotify.Show("Vouchar has been Updated."); } } else { bTrans.Delete_Untagged(thisUser); rnNotify.Show("You must assign department to all items."); } } else { if (!hasNoDepartment) { string fullVoucharNo = "N/A"; objTransGroup.transGroupCreatedBy = thisUser; objTransGroup.transGroupCreatedOn = radVoucharDate.SelectedDate.Value; objTransGroup.transGroupForeNumber = bTransGroup.New_Group_Fore_Number(moduleId, short_Title, objTransGroup.transGroupCreatedOn); objTransGroup.transGroupPrefixNo = moduleId; objTransGroup.transGroupPrefixString = short_Title; objTransGroup.transGroupStatus = 1; objTransGroup.transGroupTitle = tbDescription.Text.Trim(); objTransGroup.transGroupTotalAmount = totalCredit; objTransGroup.transTransCount = itemsCount; objTransGroup.transGroupIsOfficial = isOfficial; objTransGroup.transGroupOfficialTotalAmount = uTotalDebit; objTransGroup.transGroupRefId = tbRefId.Text; objTransGroup.transCField1 = tbCustomValue1.Text; objTransGroup.transCField2 = tbCustomValue2.Text; objTransGroup.transCField3 = tbCustomValue3.Text; objTransGroup.transCField4 = tbCustomValue4.Text; fullVoucharNo = objTransGroup.transGroupPrefixNo.ToString() + short_Title + objTransGroup.transGroupForeNumber.ToString(); groupID = bTransGroup.Add(objTransGroup).Value; // Upload Attachments iBiz.FinPro.Transactions.Attachments bTransAtt = new iBiz.FinPro.Transactions.Attachments(); if (groupID > 0) { if (radSyncAttachments.UploadedFiles.Count > 0) { for (int i = 0; i < radSyncAttachments.UploadedFiles.Count; i++) { string guid = Guid.NewGuid().ToString(); string fileExt = radSyncAttachments.UploadedFiles[i].GetExtension(); radSyncAttachments.UploadedFiles[i].SaveAs(Server.MapPath("~/Attachments/") + guid + fileExt, true); iBiz.FinPro.Transactions.Attachments.objAttachment objTranAtt = new iBiz.FinPro.Transactions.Attachments.objAttachment(); objTranAtt.attachmentMaskedFileName = guid + fileExt; objTranAtt.attachmentOriginalFileName = radSyncAttachments.UploadedFiles[i].FileName; objTranAtt.transGroupID = groupID; bTransAtt.Add(objTranAtt); } } } bTrans.Update_Group(thisUser, 0, groupID); bTrans.Update_Group(thisUser, -1, groupID); pnlActions.Visible = false; rnNotify.Show("Vouchar has been Created.<br /><br />Vouchar No. is " + fullVoucharNo + "<br /><br />"); // Look for Additional Items iBiz.FinPro.Modules.AdditionalTransactions bAT = new iBiz.FinPro.Modules.AdditionalTransactions(); ControlCollection ctrlAdditionalItems = rptVoucherItems.Controls[rptVoucherItems.Controls.Count - 1].Controls; foreach (Control ctrlItem in ctrlAdditionalItems) { if (ctrlItem.ClientID.Contains("rptAdditionalItems")) { Repeater rptAdditionalItems = (Repeater)ctrlItem; foreach (RepeaterItem item in rptAdditionalItems.Items) { foreach (Control ctrlHFID in item.Controls) { if (ctrlHFID is HiddenField) { if (ctrlHFID.ClientID.Contains("hfAdditionalTransId")) { HiddenField hfAdditionalItem = (HiddenField)ctrlHFID; TextBox tbAdditionalDescription = (TextBox)Form.FindControl(hfAdditionalItem.UniqueID.Replace("hfAdditionalTransId", "tbAdditionalDescription")); TextBox tbAdditionalAmount = (TextBox)Form.FindControl(hfAdditionalItem.UniqueID.Replace("hfAdditionalTransId", "tbAddiotionalAmount")); decimal additionalAmount; if (decimal.TryParse(tbAdditionalAmount.Text.Trim().Replace("%", ""), out additionalAmount)) { bAT.Do_Transactions(groupID, Convert.ToInt32(hfAdditionalItem.Value), additionalAmount, tbAdditionalDescription.Text, totalDebit, radVoucharDate.SelectedDate.Value, thisUser); } } } } } } } } else { bTrans.Delete_Untagged(thisUser); rnNotify.Show("You must assign department to all items."); } } } else { //imbalanced Debit and Credit bTrans.Delete_Untagged(thisUser); if (itemsCount == 0) { bTrans.Delete_Untagged(thisUser); rnNotify.Show("No valid transaction found."); } else { bTrans.Delete_Untagged(thisUser); rnNotify.Show("Debit and Credit sides are not equal."); } } } } }
protected void Balance_Fabric_For_Sales() { iDB.Communicate dbComm = new iDB.Communicate(); iBiz.FinPro.Transactions.Groups bTransG = new iBiz.FinPro.Transactions.Groups(); iBiz.FinPro.Transactions.Groups.objGroup objTransG = new iBiz.FinPro.Transactions.Groups.objGroup(); iBiz.FinPro.Transactions.Transact bTrans = new iBiz.FinPro.Transactions.Transact(); iBiz.FinPro.Transactions.Transact.objTransaction objTrans = new iBiz.FinPro.Transactions.Transact.objTransaction(); IDataReader idr = dbComm.SelectCMD("Select transGroupID from fin_Transactions where transCrAccount=16 order by transGroupID desc"); if (idr != null) { while (idr.Read()) { int transGroupId = Convert.ToInt32(idr["transGroupId"]); decimal officialTotal = 0; decimal unofficialTotal = 0; IDataReader idrr = dbComm.SelectCMD(string.Format("select IsNull(sum(transAmount), 0) from (select distinct(transAmount) from fin_Transactions where transGroupID={0} and not transCrAccount=16 and transSystemIndex=2) as resultBox", transGroupId)); if (idrr != null) { while (idrr.Read()) { officialTotal = Convert.ToDecimal(idrr[0]); } } idrr = dbComm.SelectCMD(string.Format("select IsNull(sum(transAmount), 0) from (select distinct(transAmount) from fin_Transactions where transGroupID={0} and not transCrAccount=16 and transSystemIndex=1) as resultBox", transGroupId)); if (idrr != null) { while (idrr.Read()) { unofficialTotal = Convert.ToDecimal(idrr[0]); unofficialTotal += officialTotal; } } idrr = dbComm.SelectCMD(string.Format("select * from fin_Transactions where transGroupID={0} and transCrAccount=16", transGroupId)); if (idrr != null) { while (idrr.Read()) { int transID = Convert.ToInt32(idrr["transID"]); objTrans = new iBiz.FinPro.Transactions.Transact.objTransaction(); objTrans = bTrans.Select(transID); if (objTrans != null) { objTrans.transSystemIndex = 1; objTrans.transAmount = unofficialTotal; bTrans.Update(objTrans); } objTrans = bTrans.Select(transID); if (objTrans != null) { iBiz.FinPro.Transactions.Transact.objTransaction objTranss = new iBiz.FinPro.Transactions.Transact.objTransaction(); objTrans.transSystemIndex = 2; objTrans.transAmount = officialTotal; objTrans.transSystemRestrict = true; objTranss.transParticipantID = objTrans.transParticipantID; objTranss.transCreatedOn = objTrans.transCreatedOn; bTrans.Add(objTrans); if (objTranss.transParticipantID.Value == 8) { objTranss.transDrAccount = 84; } else if (objTranss.transParticipantID.Value == 13) { objTranss.transDrAccount = 94; } else { objTranss.transDrAccount = null; } objTranss.transAmount = officialTotal; objTranss.transCrAccount = null; objTranss.transCreatedBy = 1; objTranss.transCreatedOn = DateTime.Now; objTranss.transGroupID = transGroupId; objTranss.transNarration = "Inventory Sold"; objTranss.transStatus = 1; objTranss.transSystemIndex = 2; objTranss.transSystemRestrict = true; objTranss.transType = 44; objTranss.transUpdatedBy = 1; objTranss.transUpdatedOn = DateTime.Now; bTrans.Add(objTranss); } } } objTransG = new iBiz.FinPro.Transactions.Groups.objGroup(); objTransG = bTransG.Select(transGroupId); if (objTransG != null) { objTransG.transGroupTotalAmount = unofficialTotal; objTransG.transGroupOfficialTotalAmount = officialTotal; bTransG.Update(objTransG); } } } }