protected void generateLead() { if (DropDownList_Level1.SelectedValue.Equals("_")) { Label_Status.Text = "Please select one product category"; Label_Status.ForeColor = System.Drawing.Color.Red; Label_Status.Visible = true; Button_Submit_Next0.Enabled = true; Button_Submit_Next.Enabled = true; Button_Submit_Extra_Prd_Srv.Enabled = true; } else { BackEndObjects.RFQDetails rfqObj = new BackEndObjects.RFQDetails(); BackEndObjects.Id idGen = new BackEndObjects.Id(); String rfqId = ""; if (Session[SessionFactory.CREATE_LEAD_RFQ_ID] == null) { rfqId = idGen.getNewId(BackEndObjects.Id.ID_TYPE_RFQ_STRING); Session[SessionFactory.CREATE_LEAD_RFQ_ID] = rfqId; //store the newly created RFQ id in the session } if (!TextBox_Spec.Text.Equals("")) { getAddintionalProdSrvList(); TextBox_Spec.Text = ""; } ArrayList rfqSpecObjList = (ArrayList)Session[SessionFactory.CREATE_LEAD_SELECTED_RFQ_SPEC_MAP]; //Set the RFQ id for all the spec objects if (rfqSpecObjList != null) { for (int i = 0; i < rfqSpecObjList.Count; i++) { ((BackEndObjects.RFQProductServiceDetails)rfqSpecObjList[i]).setRFQId(rfqId); } } rfqObj.setRFQProdServList(rfqSpecObjList); rfqObj.setRFQId(rfqId); rfqObj.setCreatedUsr(User.Identity.Name); rfqObj.setActiveStat(BackEndObjects.RFQDetails.RFQ_ACTIVE_STAT_ACTIVE); rfqObj.setDueDate(TextBox_Within_Date.Text); //For Manually Created Lead entity id and CreateEntityId is different for the same rfq/lead object rfqObj.setEntityId(DropDownList_Contacts.SelectedValue); rfqObj.setCreatedEntity(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString()); // FileUpload1=(FileUpload1 == null ? (FileUpload)Session[SessionFactory.CREATE_RFQ_NDA_FILE] : FileUpload1); String localId = (!DropDownList_Locality.SelectedValue.Equals("_") && !DropDownList_Locality.SelectedValue.Equals("") ? DropDownList_Locality.SelectedValue : (!DropDownList_City.SelectedValue.Equals("_") && !DropDownList_City.SelectedValue.Equals("") ? DropDownList_City.SelectedValue : (!DropDownList_State.SelectedValue.Equals("_") && !DropDownList_State.SelectedValue.Equals("") ? DropDownList_State.SelectedValue : (!DropDownList_Country.SelectedValue.Equals("_") && !DropDownList_Country.SelectedValue.Equals("") ? DropDownList_Country.SelectedValue:"")))); rfqObj.setLocalityId(localId); rfqObj.setSubmitDate(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); rfqObj.setTermsandConds(TextBox_TnC.Text); rfqObj.setRFQName(TextBox_Reqr_Name.Text); rfqObj.setCreateMode(RFQDetails.CREATION_MODE_MANUAL); rfqObj.setCurrency(DropDownList_Curr.SelectedValue); BackEndObjects.RFQProdServQnty rfqPrdQnty = new BackEndObjects.RFQProdServQnty(); rfqPrdQnty.setRFQId(rfqObj.getRFQId()); rfqPrdQnty.setFromPrice(TextBox_Price_Range_From.Text); rfqPrdQnty.setToPrice(TextBox_Price_Range_To.Text); rfqPrdQnty.setFromQnty(float.Parse(TextBox_Prod_Qnty_From.Text)); rfqPrdQnty.setToQnty(float.Parse(TextBoxrod_Qnty_To.Text)); rfqPrdQnty.setMsrmntUnit(DropDownList_Unit_Of_Msrmnt.SelectedValue); rfqPrdQnty.setProdCatId(Session[SessionFactory.CREATE_LEAD_SELECTED_PRODUCT_CAT].ToString()); //ArrayList rfqPrdQntyList = new ArrayList(); //rfqPrdQntyList.Add(rfqPrdQnty); ArrayList prodSrvQntyList = (ArrayList)Session[SessionFactory.CREATE_LEAD_PROD_SRV_QNTY_LIST]; if (prodSrvQntyList == null) { prodSrvQntyList = new ArrayList(); } prodSrvQntyList.Add(rfqPrdQnty); //Ensure that all objects in the arraylist has an associated rfqid for (int i = 0; i < prodSrvQntyList.Count; i++) { BackEndObjects.RFQProdServQnty temp = (RFQProdServQnty)prodSrvQntyList[i]; if (temp.getRFQId() == null || temp.getRFQId().Equals("")) { temp.setRFQId(rfqObj.getRFQId()); } } rfqObj.setRFQProdServQntyList(prodSrvQntyList); Dictionary <String, String> reqSpecUniqnessValidation = new Dictionary <string, string>(); if (rfqSpecObjList != null) { for (int i = 0; i < rfqSpecObjList.Count; i++) { BackEndObjects.RFQProductServiceDetails rfqSpecObj = (BackEndObjects.RFQProductServiceDetails)rfqSpecObjList[i]; if (reqSpecUniqnessValidation.ContainsKey(rfqSpecObj.getPrdCatId() + ":" + rfqSpecObj.getFeatId())) { rfqSpecObjList.RemoveAt(i);//Remove the current RFQ spec object from the list - otherwise it will cause exception at DB layer while inserting } else { reqSpecUniqnessValidation.Add(rfqSpecObj.getPrdCatId() + ":" + rfqSpecObj.getFeatId(), ""); if (rfqSpecObj.getFileStream() != null) { rfqSpecObj.setImgPathInFileStore(rfqObj.getEntityId()); } } } } BackEndObjects.RFQResponse leadRespObj = new RFQResponse(); leadRespObj.setRespEntityId(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString()); leadRespObj.setRFQId(Session[SessionFactory.CREATE_LEAD_RFQ_ID].ToString()); leadRespObj.setRespDate(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); leadRespObj.setNextFollowupDate(TextBox_Fwp_Date.Text); leadRespObj.setAssignedTo(DropDownList_Users.SelectedValue); //Load the document for the lead response if (FileUpload1 != null && FileUpload1.HasFile) { leadRespObj.setFileStream(FileUpload1); leadRespObj.setNDADocPathInFileStore(leadRespObj.getRespEntityId()); } else if ((FileUpload)Session[SessionFactory.CREATE_LEAD_NDA_FILE] != null && ((FileUpload)Session[SessionFactory.CREATE_LEAD_NDA_FILE]).HasFile) { leadRespObj.setFileStream((FileUpload)Session[SessionFactory.CREATE_LEAD_NDA_FILE]); leadRespObj.setNDADocPathInFileStore(leadRespObj.getRespEntityId()); } ArrayList leadRespQuoteList = (ArrayList)Session[SessionFactory.CREATE_LEAD_RESP_QUOTE_LIST]; if (leadRespQuoteList == null) { leadRespQuoteList = new ArrayList(); } BackEndObjects.RFQResponseQuotes respQuoteObj = new RFQResponseQuotes(); respQuoteObj.setPrdCatId(Session[SessionFactory.CREATE_LEAD_SELECTED_PRODUCT_CAT].ToString()); respQuoteObj.setQuote((TextBox_Quote_Amnt.Text.Equals("") ? "0" : TextBox_Quote_Amnt.Text)); respQuoteObj.setResponseEntityId(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString()); respQuoteObj.setResponseUsrId(User.Identity.Name); //respQuoteObj.setUnitName(Session[SessionFactory.CREATE_LEAD_QUOTE_UNIT].ToString()); respQuoteObj.setUnitName(Label_Per_Unit.Text); respQuoteObj.setProductName((!TextBox_Prod_Name.Text.Equals("") ? TextBox_Prod_Name.Text.Trim() : DropDownList_Prod_List.SelectedItem.Text)); leadRespQuoteList.Add(respQuoteObj); //Ensure that all objects in the arraylist has an associated rfqid for (int i = 0; i < leadRespQuoteList.Count; i++) { BackEndObjects.RFQResponseQuotes temp = (RFQResponseQuotes)leadRespQuoteList[i]; if (temp.getRFQId() == null || temp.getRFQId().Equals("")) { temp.setRFQId(rfqObj.getRFQId()); } } leadRespObj.setResponseQuoteList(leadRespQuoteList); ActionLibrary.SalesActions._createLeads cL = new ActionLibrary.SalesActions._createLeads(); LeadRecord leadObj = new LeadRecord(); leadObj.setRFQProdServList(rfqObj.getRFQProdServList()); leadObj.setRFQId(rfqObj.getRFQId()); leadObj.setActiveStat(rfqObj.getActiveStat()); leadObj.setApprovalStat(rfqObj.getApprovalStat()); leadObj.setCreatedEntity(rfqObj.getCreatedEntity()); leadObj.setCreatedUsr(rfqObj.getCreatedUsr()); leadObj.setCreateMode(rfqObj.getCreateMode()); leadObj.setDueDate(rfqObj.getDueDate()); leadObj.setEntityId(rfqObj.getEntityId()); leadObj.setFileStream(rfqObj.getFileStream()); leadObj.setLocalityId(rfqObj.getLocalityId()); leadObj.setNDADocPath(rfqObj.getNDADocPath()); leadObj.setReqId(rfqObj.getReqId()); leadObj.setRFQName(rfqObj.getRFQName()); leadObj.setRFQProdServQntyList(rfqObj.getRFQProdServQntyList()); leadObj.setSubmitDate(rfqObj.getSubmitDate()); leadObj.setTermsandConds(rfqObj.getTermsandConds()); leadObj.setCurrency(rfqObj.getCurrency()); leadObj.setLeadResp(leadRespObj); try { cL.createNewLead(leadObj, Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString(), User.Identity.Name); Label_Status.Text = "Lead created successfully"; Label_Status.ForeColor = System.Drawing.Color.Green; Label_Status.Visible = true; DataTable dt = (DataTable)Session[SessionFactory.ALL_SALE_ALL_LEAD_GRID_DATA]; Dictionary <String, Currency> allCurrList = (Dictionary <String, Currency>)Session[SessionFactory.CURRENCY_LIST]; //DateUtility dU = new DateUtility(); dt.Rows.Add(); int count = dt.Rows.Count - 1; dt.Rows[count]["RFQNo"] = leadObj.getRFQId(); dt.Rows[count]["RFQName"] = leadObj.getRFQName(); String alertRequired = "true"; for (int j = 0; j < leadRespQuoteList.Count; j++) { RFQResponseQuotes QuoteObj = (RFQResponseQuotes)leadRespQuoteList[j]; if (!QuoteObj.getQuote().Equals("0")) { alertRequired = "false"; break; } } DateUtility dU = new DateUtility(); dt.Rows[count]["Lead_Alert_Required"] = alertRequired; dt.Rows[count]["CustName"] = DropDownList_Contacts.SelectedItem.Text; dt.Rows[count]["CustId"] = leadObj.getEntityId(); dt.Rows[count]["curr"] = allCurrList.ContainsKey(leadObj.getCurrency()) ? allCurrList[leadObj.getCurrency()].getCurrencyName() : ""; dt.Rows[count]["Submit Date"] = leadObj.getSubmitDate(); dt.Rows[count]["Submit Date Ticks"] = Convert.ToDateTime(leadObj.getSubmitDate()).Ticks; dt.Rows[count]["Due Date"] = dU.getConvertedDateWoTime(leadObj.getDueDate()); dt.Rows[count]["Due Date Ticks"] = !dt.Rows[count]["Due Date"].Equals("") ? Convert.ToDateTime(leadObj.getDueDate()).Ticks : 0; dt.Rows[count]["Next Date"] = dU.getConvertedDateWoTime(TextBox_Fwp_Date.Text.Trim()); dt.Rows[count]["Next Date Ticks"] = (!dt.Rows[count]["Next Date"].Equals("") ? Convert.ToDateTime(TextBox_Fwp_Date.Text).Ticks : 0); dt.Rows[count]["Assgn To"] = (!DropDownList_Users.SelectedValue.Equals("") ? DropDownList_Users.SelectedValue : ""); dt.Rows[count]["ActiveStat"] = leadObj.getActiveStat(); dt.Rows[count]["Mode"] = leadObj.getCreateMode(); dt.DefaultView.Sort = "Submit Date Ticks" + " " + "DESC"; Session[SessionFactory.ALL_SALE_ALL_LEAD_GRID_DATA] = dt.DefaultView.ToTable(); ScriptManager.RegisterStartupScript(this, typeof(string), "RefreshLeadGrid", "RefreshParent();", true); } catch (Exception ex) { Label_Status.Text = "Lead creation failed"; Label_Status.ForeColor = System.Drawing.Color.Red; Label_Status.Visible = true; } finally { Session.Remove(SessionFactory.CREATE_LEAD_SELECTED_RFQ_SPEC_MAP); Session.Remove(SessionFactory.CREATE_LEAD_RFQ_ID); Session.Remove(SessionFactory.CREATE_LEAD_PROD_SRV_QNTY_LIST); Session.Remove(SessionFactory.CREATE_LEAD_NDA_FILE); Session.Remove(SessionFactory.CREATE_LEAD_RESP_QUOTE_LIST); Session.Remove(SessionFactory.CREATE_LEAD_QUOTE_UNIT); } } }
protected void Button_Submit_Extra_Prd_Srv_Click(object sender, EventArgs e) { if (DropDownList_Level1.SelectedValue.Equals("_")) { Label_Status.Text = "Please select one product category"; Label_Status.ForeColor = System.Drawing.Color.Red; Label_Status.Visible = true; Label_Status.Focus(); } else { Label_Status.Visible = false; Buttin_Show_Spec_List.Enabled = true; DropDownList_Locality.Enabled = false; DropDownList_State.Enabled = false; DropDownList_Country.Enabled = false; DropDownList_City.Enabled = false; DropDownList_Contacts.Enabled = false; TextBox_Within_Date.Enabled = false; TextBox_Reqr_Name.Enabled = false; TextBox_TnC.Enabled = false; TextBox_Street_Name.Enabled = false; FileUpload1.Enabled = false; Label_Selected_List.Text = ""; Label_Extra_Spec.Visible = false; if (!TextBox_Spec.Text.Equals("")) { getAddintionalProdSrvList(); TextBox_Spec.Text = ""; } TextBox_Spec.Visible = false; Label_Extra_Spec_upload.Visible = false; FileUpload_Extra_Spec.Visible = false; GridView1.Visible = false; DropDownList_Level1.SelectedValue = "_"; DropDownList_Level2.SelectedIndex = -1; DropDownList_Level3.SelectedIndex = -1; if (FileUpload1 != null && FileUpload1.HasFile) { Session[SessionFactory.CREATE_LEAD_NDA_FILE] = FileUpload1; } ArrayList prodSrvQntyList = (ArrayList)Session[SessionFactory.CREATE_LEAD_PROD_SRV_QNTY_LIST]; if (prodSrvQntyList == null) { prodSrvQntyList = new ArrayList(); } BackEndObjects.RFQProdServQnty rfqpPrdSrvQntyObj = new RFQProdServQnty(); rfqpPrdSrvQntyObj.setFromPrice(TextBox_Price_Range_From.Text); rfqpPrdSrvQntyObj.setToPrice(TextBox_Price_Range_To.Text); rfqpPrdSrvQntyObj.setMsrmntUnit(DropDownList_Unit_Of_Msrmnt.SelectedValue); rfqpPrdSrvQntyObj.setProdCatId(Session[SessionFactory.CREATE_LEAD_SELECTED_PRODUCT_CAT].ToString()); rfqpPrdSrvQntyObj.setFromQnty(float.Parse(TextBox_Prod_Qnty_From.Text)); rfqpPrdSrvQntyObj.setToQnty(float.Parse(TextBoxrod_Qnty_To.Text)); prodSrvQntyList.Add(rfqpPrdSrvQntyObj); Session[SessionFactory.CREATE_LEAD_PROD_SRV_QNTY_LIST] = prodSrvQntyList; BackEndObjects.RFQResponseQuotes leadRespQuoteObjs = new RFQResponseQuotes(); leadRespQuoteObjs.setPrdCatId(Session[SessionFactory.CREATE_LEAD_SELECTED_PRODUCT_CAT].ToString()); leadRespQuoteObjs.setQuote(TextBox_Quote_Amnt.Text); leadRespQuoteObjs.setResponseEntityId(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString()); leadRespQuoteObjs.setResponseUsrId(User.Identity.Name); //leadRespQuoteObjs.setUnitName(Session[SessionFactory.CREATE_LEAD_QUOTE_UNIT].ToString()); leadRespQuoteObjs.setUnitName(Label_Per_Unit.Text); leadRespQuoteObjs.setProductName((!TextBox_Prod_Name.Text.Equals("") ? TextBox_Prod_Name.Text.Trim() : DropDownList_Prod_List.SelectedItem.Text)); ArrayList leadRespQuoteList = (ArrayList)Session[SessionFactory.CREATE_LEAD_RESP_QUOTE_LIST]; if (leadRespQuoteList == null) { leadRespQuoteList = new ArrayList(); } leadRespQuoteList.Add(leadRespQuoteObjs); Session[SessionFactory.CREATE_LEAD_RESP_QUOTE_LIST] = leadRespQuoteList; } }