示例#1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                String rfId       = Request.QueryString.GetValues("rfId")[0];
                String context    = Request.QueryString.GetValues("context")[0];
                String poId       = Request.QueryString.GetValues("poId")[0];
                String otherEntId = "";
                //This flag determines whether or no any tax component is changed in this screen
                Label_Inv_Tax_Comp_Changed.Text = "N";

                String invId = Request.QueryString.GetValues("invId")[0];
                BackEndObjects.Invoice invObj = new BackEndObjects.Invoice();

                if (invId != null && !invId.Equals(""))
                {
                    invObj = BackEndObjects.Invoice.getInvoicebyIdDB(invId);
                    loadAlreadyCreatedInvData(invObj);
                }
                else
                {
                    //If invoice data does not exist then forward to create invoice screen
                    String forwardString = "/Pages/createInvoice.aspx";
                    forwardString += "?rfId=" + rfId;
                    if (poId == null || poId.Equals(""))
                    {
                        forwardString += "&emptySO=" + "true";
                    }

                    Response.Redirect(forwardString);
                    //Server.Transfer(forwardString);
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "createInv", "window.open('" + forwardString + "',null,'resizeable=yes,scrollbars=yes,addressbar=no,toolbar=no,width=900,Height=900');", true);
                }
                //   Button_Update_Inv.Visible = false;


                RFQShortlisted rfqDealObj = BackEndObjects.RFQShortlisted.getRFQShortlistedEntryforFinalizedVendor(rfId);

                if (context.Equals("client") || context.Equals("clientInvoiceGrid"))
                {
                    otherEntId = rfqDealObj.getRespEntityId();
                    //If control is in client context, then the invoice is already created and the response entity details are available
                    if (otherEntId == null || otherEntId.Equals(""))
                    {
                        otherEntId = invObj.getRespEntityId();
                    }
                }
                else
                {
                    bool approvalContext = false;
                    if (Request.QueryString.GetValues("approvalContext") != null)
                    {
                        approvalContext = Request.QueryString.GetValues("approvalContext")[0].Equals("Y") ? true : false;
                    }

                    if (approvalContext)
                    {
                        Button_Create_Inv.Enabled         = false;
                        Button_Update_Inv.Enabled         = false;
                        Label_INV_Creation_Stat.Visible   = true;
                        Label_INV_Creation_Stat.Text      = "To edit anything for this invoice, please check the invoice from Sales->Invoice screen.";
                        Label_INV_Creation_Stat.ForeColor = System.Drawing.Color.Red;
                    }
                    else
                    {
                        Dictionary <String, bool> accessList = (Dictionary <String, bool>)Session[SessionFactory.ACCESSLIST_FOR_USER];
                        if (!accessList[BackEndObjects.EntityAccessListRecord.ENTITY_ACCESS_LIST_RECORD_ACCESS_EDIT_INVOICE_SALES] &&
                            !accessList[BackEndObjects.EntityAccessListRecord.ENTITY_ACCESS_LIST_RECORD_ACCESS_OWNER_ACCESS])
                        {
                            Label_INV_Creation_Stat.Visible   = true;
                            Label_INV_Creation_Stat.Text      = "You don't have edit access to invoice record";
                            Label_INV_Creation_Stat.ForeColor = System.Drawing.Color.Red;
                            Button_Create_Inv.Enabled         = false;
                            Button_Update_Inv.Enabled         = false;
                        }
                    }
                    otherEntId = RFQDetails.getRFQDetailsbyIdDB(rfId).getEntityId();
                }

                loadClientAndVendorDetails(rfId, otherEntId);
                loadProductGrid(poId);
                populateLogo(otherEntId, context);
                loadInvTaxCompGrid(invId);
                loadTnC(invObj);
                updateTotalINVAmount();

                if (context.Equals("client") || context.Equals("clientInvoiceGrid"))
                {
                    disableControlsForClient();
                }
            }
        }
        protected void fillIncomingInvGrid(ArrayList invList)
        {
            String[] contactEntId = Request.QueryString.GetValues("contactId");

            if (invList == null || invList.Count == 0)
            {
                invList = BackEndObjects.Invoice.getAllInvoicesbyEntId(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString());
            }

            DataTable dt = new DataTable();

            dt.Columns.Add("rfqId");
            dt.Columns.Add("InvId");
            dt.Columns.Add("InvNo");
            dt.Columns.Add("totalAmnt");
            dt.Columns.Add("InvDate");
            dt.Columns.Add("pmntStat");
            dt.Columns.Add("totalPending");

            DateUtility dU = new DateUtility();

            int rowCount = 0;

            for (int i = 0; i < invList.Count; i++)
            {
                BackEndObjects.Invoice invObj = (BackEndObjects.Invoice)invList[i];

                if (invObj.getRespEntityId().Equals(contactEntId[0]))
                {
                    float totalPendingAmnt = 0;
                    float totalClearedAmnt = 0;

                    Dictionary <String, Payment> pmntDict = BackEndObjects.Payment.getPaymentDetailsforInvoiceDB(invObj.getInvoiceId());

                    foreach (KeyValuePair <String, Payment> kvp in pmntDict)
                    {
                        BackEndObjects.Payment pmntObj = kvp.Value;

                        totalClearedAmnt += pmntObj.getClearingStat().Equals(BackEndObjects.Payment.PAYMENT_CLEARING_STAT_CLEAR) ?
                                            pmntObj.getAmount() : 0;
                    }

                    totalPendingAmnt = invObj.getTotalAmount() - totalClearedAmnt;

                    dt.Rows.Add();
                    dt.Rows[rowCount]["rfqId"]        = invObj.getRFQId();
                    dt.Rows[rowCount]["InvId"]        = invObj.getInvoiceId();
                    dt.Rows[rowCount]["InvNo"]        = invObj.getInvoiceNo() != null && !invObj.getInvoiceNo().Equals("") ? invObj.getInvoiceNo() : invObj.getInvoiceId();
                    dt.Rows[rowCount]["totalAmnt"]    = invObj.getTotalAmount();
                    dt.Rows[rowCount]["InvDate"]      = dU.getConvertedDate(invObj.getInvoiceDate().Substring(0, invObj.getInvoiceDate().IndexOf(" ")));
                    dt.Rows[rowCount]["pmntStat"]     = invObj.getPaymentStatus();
                    dt.Rows[rowCount]["totalPending"] = totalPendingAmnt;

                    rowCount++;
                }
            }

            GridView_Incoming_Invoices.Visible    = true;
            GridView_Incoming_Invoices.DataSource = dt;
            GridView_Incoming_Invoices.DataBind();
            GridView_Incoming_Invoices.SelectedIndex = -1;
            Session[SessionFactory.ALL_CONTACT_ALL_DEAL_INCOMING_INV_GRID]      = dt;
            Session[SessionFactory.ALL_CONTACT_ALL_DEAL_INCOMING_INV_ARRAYLIST] = invList;
        }