protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            DataTable dt       = (DataTable)Session[SessionFactory.ALL_PROD_SPECIFICATION_DATAGRID];
            String    prodName = Session[SessionFactory.ALL_PRODUCT_SELECTED_PRODUCT_NAME].ToString();

            String fromSpecText = ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_From_Spec_Edit")).SelectedItem != null ?
                                  ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_From_Spec_Edit")).SelectedItem.Text : "";
            String fromSpecId = ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_From_Spec_Edit")).SelectedValue != null ?
                                ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_From_Spec_Edit")).SelectedValue:"";
            String ToSpecText = ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_To_Spec_Edit")).SelectedItem != null ?
                                ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_To_Spec_Edit")).SelectedItem.Text:"";
            String ToSpecId = ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_To_Spec_Edit")).SelectedValue != null ?
                              ((DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList_To_Spec_Edit")).SelectedValue:"";

            String specText = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("TextBox_SpecText_Edit")).Text;

            int index = GridView1.Rows[e.RowIndex].DataItemIndex;

            dt.Rows[index]["SpecText"] = specText;
            dt.Rows[index]["FromSpec"] = fromSpecText;
            dt.Rows[index]["ToSpec"]   = ToSpecText;

            String updatedImgPath = "";

            Dictionary <String, String> whereCls   = new Dictionary <string, string>();
            Dictionary <String, String> targetVals = new Dictionary <string, string>();

            whereCls.Add(BackEndObjects.ShopChildProdsSpecs.SHOP_CHILD_PROD_SPEC_COL_PROD_NAME, prodName);
            whereCls.Add(BackEndObjects.ShopChildProdsSpecs.SHOP_CHILD_PROD_SPEC_COL_ENTITY_ID, Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString());
            whereCls.Add(BackEndObjects.ShopChildProdsSpecs.SHOP_CHILD_PROD_SPEC_COL_FEAT_ID, ((Label)GridView1.Rows[e.RowIndex].Cells[0].FindControl("Label_Hidden_Feat")).Text);

            if (!((FileUpload)GridView1.Rows[e.RowIndex].Cells[0].FindControl("FileUpload_Image")).HasFile)
            {
                targetVals.Add(BackEndObjects.ShopChildProdsSpecs.SHOP_CHILD_PROD_SPEC_COL_FROM_SPEC_ID, fromSpecId);
                targetVals.Add(BackEndObjects.ShopChildProdsSpecs.SHOP_CHILD_PROD_SPEC_COL_TO_SPEC_ID, ToSpecId);
                targetVals.Add(BackEndObjects.ShopChildProdsSpecs.SHOP_CHILD_PROD_SPEC_COL_SPEC_TEXT, specText);

                BackEndObjects.ShopChildProdsSpecs.updateShopChildProdsSpecsDB(targetVals, whereCls, DBConn.Connections.OPERATION_UPDATE);
            }
            else
            {
                //Remove the entry and re-create
                BackEndObjects.ShopChildProdsSpecs.updateShopChildProdsSpecsDB(targetVals, whereCls, DBConn.Connections.OPERATION_DELETE);

                BackEndObjects.ShopChildProdsSpecs specObj = new ShopChildProdsSpecs();
                specObj.setEntityId(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString());
                specObj.setFeatId(((Label)GridView1.Rows[e.RowIndex].Cells[0].FindControl("Label_Hidden_Feat")).Text);
                specObj.setFileStream(((FileUpload)GridView1.Rows[e.RowIndex].Cells[0].FindControl("FileUpload_Image")));
                specObj.setFromSpecId(fromSpecId);
                specObj.setSpecText(specText);
                specObj.setToSpecId(ToSpecId);
                specObj.setProdName(prodName);
                specObj.setImgPathInFileStore(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString());

                BackEndObjects.ShopChildProdsSpecs.insertShopChildProdsSpecsDB(specObj);
                String[] imgPath = specObj.getImgPath().Split(new String[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
                dt.Rows[index]["imgName"] = (imgPath != null && imgPath.Length > 0 ? imgPath[imgPath.Length - 1] : "N\\A");
                updatedImgPath            = specObj.getImgPath();
            }
            Session[SessionFactory.ALL_PROD_SPECIFICATION_DATAGRID] = dt;
            GridView1.EditIndex  = -1;
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
        protected void Button_Add_To_Prod_Click(object sender, EventArgs e)
        {
            if (!TextBox_Spec.Text.Equals(""))
            {
                getAddintionalProdSrvList();
                TextBox_Spec.Text = "";
            }

            ArrayList prodSpecList = (ArrayList)Session[SessionFactory.UPDATE_PROD_SELECTED_PROD_SPEC_MAP];

            /*Dictionary<String, String> existingProdList = (Dictionary<String,String>)
             *  Session[SessionFactory.PRODUCT_SPECIFICATION_EXISTING_FEAT_LIST];
             * existingProdList=(existingProdList==null?new Dictionary<String,String>():existingProdList);*/

            Dictionary <String, String> rSpecUniqnessValidation = new Dictionary <string, string>();
            String mainEntId = Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString();

            if (prodSpecList != null)
            {
                for (int i = 0; i < prodSpecList.Count; i++)
                {
                    ShopChildProdsSpecs prodSpecObj = (ShopChildProdsSpecs)prodSpecList[i];
                    //existingProdList.Add(prodSpecObj.getFeatId(),prodSpecObj.getFeatId());

                    if (rSpecUniqnessValidation.ContainsKey(prodSpecObj.getEntityId() + ":" + prodSpecObj.getProdName() + ":" + prodSpecObj.getFeatId()))
                    {
                        prodSpecList.RemoveAt(i);
                    }
                    else
                    {
                        rSpecUniqnessValidation.Add(prodSpecObj.getEntityId() + ":" + prodSpecObj.getProdName() + ":" + prodSpecObj.getFeatId(), prodSpecObj.getEntityId());
                        if (prodSpecObj != null && prodSpecObj.getFileStream() != null && prodSpecObj.getFileStream().HasFile)
                        {
                            prodSpecObj.setImgPathInFileStore(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString());
                        }
                    }
                }
            }

            try
            {
                if (prodSpecList != null)
                {
                    BackEndObjects.ShopChildProdsSpecs.insertShopChildProdsSpecsListDB(prodSpecList);
                }

                Label_Status.Text      = "Product/Service Details Updated Successfully";
                Label_Status.Visible   = true;
                Label_Status.ForeColor = System.Drawing.Color.Green;
                fillFirstGrid();
            }
            catch (Exception ex)
            {
                Label_Status.Text      = "Product/Service Details Addition Failed";
                Label_Status.Visible   = true;
                Label_Status.ForeColor = System.Drawing.Color.Red;
            }
            finally
            {
                Session.Remove(SessionFactory.UPDATE_PROD_SELECTED_PROD_SPEC_MAP);
            }
        }
Ejemplo n.º 3
0
        protected void createNewProduct()
        {
            Dictionary <String, String> allExistingProdDict = (Dictionary <String, String>)Session[SessionFactory.ALL_PRODUCT_CREATE_PRODUCT_EXISTING_NAMES];

            if (allExistingProdDict.ContainsKey(TextBox_Prod_Name.Text.Trim()))
            {
                Label_Status.Text      = "Product Name Already Exists";
                Label_Status.Visible   = true;
                Label_Status.ForeColor = System.Drawing.Color.Red;
            }
            else if (Session[SessionFactory.CREATE_PRODUCT_SELECTED_PRODUCT_CAT] == null || Session[SessionFactory.CREATE_PRODUCT_SELECTED_PRODUCT_CAT].ToString().Equals(""))
            {
                Label_Status.Text      = "Must select one product category";
                Label_Status.Visible   = true;
                Label_Status.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
                if (!TextBox_Spec.Text.Equals(""))
                {
                    getAddintionalProdSrvList();
                    TextBox_Spec.Text = "";
                }

                ArrayList prodSpecList = (ArrayList)Session[SessionFactory.CREATE_PRODUCT_CHILD_PROD_SPEC_MAP];

                Dictionary <String, String> rSpecUniqnessValidation = new Dictionary <string, string>();
                String mainEntId = Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString();

                if (prodSpecList != null)
                {
                    for (int i = 0; i < prodSpecList.Count; i++)
                    {
                        ShopChildProdsSpecs prodSpecObj = (ShopChildProdsSpecs)prodSpecList[i];

                        prodSpecObj.setProdName(TextBox_Prod_Name.Text);

                        if (rSpecUniqnessValidation.ContainsKey(prodSpecObj.getEntityId() + ":" + prodSpecObj.getProdName() + ":" + prodSpecObj.getFeatId()))
                        {
                            prodSpecList.RemoveAt(i);
                        }
                        else
                        {
                            rSpecUniqnessValidation.Add(prodSpecObj.getEntityId() + ":" + prodSpecObj.getProdName() + ":" + prodSpecObj.getFeatId(), prodSpecObj.getEntityId());
                            if (prodSpecObj != null && prodSpecObj.getFileStream() != null && prodSpecObj.getFileStream().HasFile)
                            {
                                prodSpecObj.setImgPathInFileStore(Session[SessionFactory.MAIN_BUSINESS_ENTITY_ID_STRING].ToString());
                            }
                        }
                    }
                }

                ShopChildProdsInventory childProdObj = new ShopChildProdsInventory();
                childProdObj.setCreatedBy(User.Identity.Name);
                childProdObj.setDateCreated(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                childProdObj.setEntityId(mainEntId);
                childProdObj.setMsrmntUnit(DropDownList_Unit_Of_Msrmnt.SelectedValue);
                childProdObj.setProdCatId(Session[SessionFactory.CREATE_PRODUCT_SELECTED_PRODUCT_CAT].ToString());
                childProdObj.setProdName(TextBox_Prod_Name.Text);
                childProdObj.setQnty((!TextBox_Stock.Text.Equals("")?float.Parse(TextBox_Stock.Text):0));
                childProdObj.setUnitListPrice(TextBox_List_Price.Text);
                childProdObj.setUnitSrcPrice(TextBox_Src_Price.Text);
                childProdObj.setCurrency(DropDownList_Curr.SelectedValue);

                try
                {
                    BackEndObjects.ShopChildProdsInventory.insertShopChildProdsInventoryDB(childProdObj);
                    if (prodSpecList != null)
                    {
                        BackEndObjects.ShopChildProdsSpecs.insertShopChildProdsSpecsListDB(prodSpecList);
                    }

                    //Refresh the session variable with the newly added product name
                    allExistingProdDict.Add(childProdObj.getProdName(), childProdObj.getProdName());
                    Session[SessionFactory.ALL_PRODUCT_CREATE_PRODUCT_EXISTING_NAMES] = allExistingProdDict;

                    Dictionary <String, ProductCategory> existingProdDict = MainBusinessEntity.
                                                                            getProductDetailsforMainEntitybyIdDB(mainEntId);

                    Label_Status.Text                 = "Product/Service Details Created Successfully";
                    Label_Status.Visible              = true;
                    Label_Status.ForeColor            = System.Drawing.Color.Green;
                    DropDownList_Level1.SelectedIndex = -1;
                    DropDownList_Level2.SelectedIndex = -1;
                    DropDownList_Level3.SelectedIndex = -1;


                    if (!existingProdDict.ContainsKey(DropDownList_Level1.SelectedValue))
                    {
                        ArrayList newMainProdCat = new ArrayList();
                        newMainProdCat.Add(DropDownList_Level1.SelectedValue);

                        MainBusinessEntity.insertProductDetailsforEntityDB(mainEntId, newMainProdCat);
                        Label_Status.Text += "...New Product category added to your product list";
                    }

                    DataTable dt = (DataTable)Session[SessionFactory.ALL_PRODUCT_PROD_DATA_GRID];

                    dt.Rows.Add();
                    int count = dt.Rows.Count - 1;

                    dt.Rows[count]["ProdCatId"] = childProdObj.getProdCatId();
                    dt.Rows[count]["ProdName"]  = childProdObj.getProdName();
                    dt.Rows[count]["Stock"]     = childProdObj.getQnty();
                    dt.Rows[count]["msrmnt"]    = childProdObj.getMsrmntUnit();
                    dt.Rows[count]["srcPrice"]  = childProdObj.getUnitSrcPrice();
                    dt.Rows[count]["listPrice"] = childProdObj.getUnitListPrice();
                    dt.Rows[count]["curr"]      = DropDownList_Curr.SelectedItem.Text;

                    Session[SessionFactory.ALL_PRODUCT_PROD_DATA_GRID] = dt;
                    ScriptManager.RegisterStartupScript(this, typeof(string), "RefreshProdGrid", "RefreshParent();", true);
                }
                catch (Exception ex)
                {
                    Label_Status.Text      = "Product/Service Details Creation Failed";
                    Label_Status.Visible   = true;
                    Label_Status.ForeColor = System.Drawing.Color.Red;
                }
                finally
                {
                    Session.Remove(SessionFactory.CREATE_PRODUCT_CHILD_PROD_SPEC_MAP);
                    Session.Remove(SessionFactory.CREATE_PRODUCT_SELECTED_PRODUCT_CAT);
                }
            }
        }