Esempio n. 1
0
        protected void Load_Attachments(int groupID)
        {
            iBiz.FinPro.Transactions.Attachments bAttachments = new iBiz.FinPro.Transactions.Attachments();

            IDataReader idr = bAttachments.Select_For_Vouchar(groupID);

            rptUploadedFiles.DataSource = idr;
            rptUploadedFiles.DataBind();
        }
Esempio n. 2
0
        protected void btnSubmitForm_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                // Check for Financial Year Lock <<<<<<<<<<<<<<<

                iBiz.FinPro.FinYears finyear = new iBiz.FinPro.FinYears();

                if (!finyear.isLock(Convert.ToDateTime(tbDate.Text)))
                {
                    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 totalAmount = 0;
                    //decimal totalCredit = 0;
                    //decimal uTotalDebit = 0;
                    //decimal uTotalCredit = 0;
                    bool hasNoDepartment = false;
                    int  finYear         = DateTime.Now.Year;

                    DateTime selectedDate = DateTime.Now;


                    if (selectedDate.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, drAccountId, crAccountId, deptId, description, additionalTransId, amount;
                                        HiddenField  hfINo                     = (HiddenField)ctrlItem;
                                        RadComboBox  ddlDebitAccounts          = (RadComboBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlDebitAccounts"));
                                        RadComboBox  ddlCreditAccounts         = (RadComboBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlCreditAccount"));
                                        DropDownList ddlDepts                  = (DropDownList)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlDept"));
                                        TextBox      tbDescription             = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbDescription"));
                                        TextBox      tbAmount                  = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbAmount"));
                                        HiddenField  hfTransId                 = (HiddenField)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "hfTransID"));
                                        HiddenField  hfAdditionalTransId       = (HiddenField)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "hfAdditionalTransId"));
                                        iBiz.FinPro.Accounts.objAccount objAcc = new iBiz.FinPro.Accounts.objAccount();


                                        itemNo            = hfINo.Value;
                                        transId           = hfTransId.Value;
                                        drAccountId       = ddlDebitAccounts.SelectedValue != null ? ddlDebitAccounts.SelectedValue : "";
                                        crAccountId       = ddlCreditAccounts.SelectedValue != null ? ddlCreditAccounts.SelectedValue : "";
                                        deptId            = ddlDepts.SelectedValue;
                                        description       = tbDescription.Text;
                                        amount            = tbAmount.Text;
                                        additionalTransId = hfAdditionalTransId.Value;

                                        decimal transAmount = 0;
                                        decimal.TryParse(amount, out transAmount);

                                        if (transAmount > 0)
                                        {
                                            if (transId != "0")
                                            {
                                                // Delete existing trans
                                                if (iBiz.FinPro.Rights.edit_vouchar)
                                                {
                                                    bTrans.Delete(Convert.ToInt32(transId));
                                                }
                                            }

                                            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, selectedDate, thisUser, Convert.ToInt32(deptId));
                                                }
                                            }



                                            if (!string.IsNullOrEmpty(drAccountId))
                                            {
                                                if (Convert.ToInt32(drAccountId) > 0)
                                                {
                                                    //Debit Transaction
                                                    objTrans                     = new iBiz.FinPro.Transactions.Transact.objTransaction();
                                                    objTrans.transAmount         = transAmount;
                                                    objTrans.transDrAccount      = Convert.ToInt32(drAccountId);
                                                    objTrans.transCrAccount      = null;
                                                    objTrans.transSystemRestrict = false;

                                                    objTrans.transCreatedBy   = thisUser;
                                                    objTrans.transCreatedOn   = DateTime.Now;
                                                    objTrans.transGroupID     = 0;
                                                    objTrans.transIsCompound  = true;
                                                    objTrans.transNarration   = description;
                                                    objTrans.transStatus      = 1;
                                                    objTrans.transSystemIndex = 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++;
                                                }
                                            }

                                            if (!string.IsNullOrEmpty(crAccountId))
                                            {
                                                if (Convert.ToInt32(crAccountId) > 0)
                                                {
                                                    //Credit Transaction

                                                    objTrans                     = new iBiz.FinPro.Transactions.Transact.objTransaction();
                                                    objTrans.transAmount         = transAmount;
                                                    objTrans.transDrAccount      = null;
                                                    objTrans.transCrAccount      = Convert.ToInt32(crAccountId);
                                                    objTrans.transSystemRestrict = false;

                                                    objTrans.transCreatedBy   = thisUser;
                                                    objTrans.transCreatedOn   = DateTime.Now;
                                                    objTrans.transGroupID     = 0;
                                                    objTrans.transIsCompound  = true;
                                                    objTrans.transNarration   = description;
                                                    objTrans.transStatus      = 1;
                                                    objTrans.transSystemIndex = 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);
                                                    totalAmount += Convert.ToDecimal(amount);

                                                    itemsCount++;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            // Delete existing trans
                                            if (iBiz.FinPro.Rights.edit_vouchar)
                                            {
                                                bTrans.Delete(Convert.ToInt32(transId));
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (itemsCount > 0)
                        {
                            int groupID = 0;

                            if (true)
                            {
                                if (!hasNoDepartment)
                                {
                                    string fullVoucharNo = "N/A";

                                    objTransGroup.transGroupCreatedBy           = thisUser;
                                    objTransGroup.transGroupCreatedOn           = selectedDate;
                                    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         = totalAmount;
                                    objTransGroup.transTransCount               = itemsCount;
                                    objTransGroup.transGroupIsOfficial          = 1;
                                    objTransGroup.transGroupOfficialTotalAmount = totalAmount;
                                    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);

                                    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, totalAmount, selectedDate, 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.");
                            }
                        }
                    }
                }
                else
                {
                    rnNotify.Show("Financial year is locked.");
                }
            }
        }