private void GetLogicvalues(AppObjInfoMap_Logic objAppObjInfoMap_Logic)
        {
            StaticItem si1 = new StaticItem();

            si1.DataValue = "-1";
            si1.TextValue = "Select";

            if (objAppObjInfoMap_Logic.AppObjInfoMap_LogicValues_List_VW != null)
            {
                foreach (AppObjInfoMap_LogicValues obj in objAppObjInfoMap_Logic.AppObjInfoMap_LogicValues_List_VW)
                {
                    StaticItem si = new StaticItem();
                    si.DataValue = obj.OptionValue;
                    si.TextValue = obj.OptionText;

                    if (obj.OptionFor == 1)
                    {
                        Value1List_VW.Add(si);
                    }

                    if (obj.OptionFor == 2)
                    {
                        Value2List_VW.Add(si);
                    }

                    if (obj.OptionFor == 3)
                    {
                        Value3List_VW.Add(si);
                    }
                }
            }
        }
        public ActionResult GetObjAppInfoMapLogicValue(string pModuleObjMapCode)
        {
            bool   vResult = true;
            string vMSG    = "";
            AppObjInfoMap_Logic   objIAppObjInfoMap_Logic  = new AppObjInfoMap_Logic();
            AppLevelDefinition    objAppLevelDefinition    = new AppLevelDefinition();
            AppLevelDefinitionDet objAppLevelDefinitionDet = new AppLevelDefinitionDet();

            objIAppObjInfoMap_Logic.ModuleObjMapCode_FK = pModuleObjMapCode;
            try
            {
                //AppLevelDefinition objAppLevelDefinition = new AppLevelDefinition();
                objIAppObjInfoMap_Logic = _appObjInfoMap_Logic.GetIAppObjInfoMap_Logic(objIAppObjInfoMap_Logic);
                if (objIAppObjInfoMap_Logic == null)
                {
                    vMSG    = "This object is not mapping for approval";
                    vResult = false;
                }
                else
                {
                    if (objIAppObjInfoMap_Logic.IsFieldPolicy == 1 && objIAppObjInfoMap_Logic.AppObjInfoMap_LogicValues_List_VW != null && objIAppObjInfoMap_Logic.AppObjInfoMap_LogicValues_List_VW.Count > 0)
                    {
                        GetLogicvalues(objIAppObjInfoMap_Logic);
                    }
                    //AppLevelDefinition objAppLevelDefinition = new AppLevelDefinition();
                    objAppLevelDefinition.ModuleObjMapCode_FK = objIAppObjInfoMap_Logic.ModuleObjMapCode_FK;
                    objAppLevelDefinition = _appLevelDefinition.GetAppLevelDefinition(objAppLevelDefinition);

                    if (objAppLevelDefinition == null || string.IsNullOrEmpty(objAppLevelDefinition.AppLvDefinitionCode_PK))
                    {
                        objAppLevelDefinition.objIAppLevelDefinitionDetList_VW = new List <AppLevelDefinitionDet>();

                        objAppLevelDefinitionDet.ObjAppInfoMapLogicCode_FK = objIAppObjInfoMap_Logic.ObjAppInfoMapLogicCode_PK;
                        objAppLevelDefinition.ModuleObjMapCode_FK          = objIAppObjInfoMap_Logic.ModuleObjMapCode_FK;
                        objAppLevelDefinition.AppLevelType = objIAppObjInfoMap_Logic.IsFieldPolicy;
                        objAppLevelDefinition.objIAppLevelDefinitionDetList_VW.Add(objAppLevelDefinitionDet);
                    }

                    if (objAppLevelDefinition.objIAppLevelDefinitionDetList_VW.Count < 1)
                    {
                        vMSG    = "Approval Level Definition Data Is incorrect";
                        vResult = false;
                    }
                }
            }
            catch (Exception ex)
            {
                vMSG    = ex.Message;
                vResult = false;
            }

            return(Ok(new
            {
                vResult,
                List = objAppLevelDefinition,
                LogicList = objIAppObjInfoMap_Logic,
                vMSG
            }));
        }
        private void GetAppObjInfoMapLogicValuesList(AppObjInfoMap_Logic objAppObjInfoMap_Logic)
        {
            List <AppObjInfoMap_LogicValues> objNewAppObjInfoMap_LogicValuesList = new List <AppObjInfoMap_LogicValues>();

            string        vComTxt    = @"SELECT A.[ObjAppInfoMapLogicValueCode]
                                  ,A.[ObjAppInfoMappLogicCode]
                                  ,A.[LogicSerialNo]
                                  ,A.[OptionValue]
                                  ,A.[OptionText]
                                  ,A.[OptionFor]
                              FROM [LS_AppObjInfoMap_LogicValues] A
                            WHERE A.ObjAppInfoMappLogicCode = '" + objAppObjInfoMap_Logic.ObjAppInfoMapLogicCode_PK + "' AND A.ActionType<>'DELETE'";
            SqlConnection connection = _supplierDbContext.GetConn();

            connection.Open();
            SqlDataReader dr;
            SqlCommand    command = new SqlCommand(vComTxt, connection);

            dr = command.ExecuteReader();

            while (dr.Read())
            {
                AppObjInfoMap_LogicValues objAppLogicValues = new AppObjInfoMap_LogicValues();

                objAppLogicValues.ObjAppInfoMapLogicValueCode_PK = dr["ObjAppInfoMapLogicValueCode"].ToString();
                objAppLogicValues.ObjAppInfoMappLogicCode_FK     = dr["ObjAppInfoMappLogicCode"].ToString();

                if (!string.IsNullOrEmpty(dr["LogicSerialNo"].ToString()))
                {
                    objAppLogicValues.LogicSerialNo = Convert.ToInt32(dr["LogicSerialNo"]);
                }

                objAppLogicValues.OptionValue = dr["OptionValue"].ToString();
                objAppLogicValues.OptionText  = dr["OptionText"].ToString();
                objAppLogicValues.OptionFor   = Convert.ToInt32(dr["OptionFor"]);

                objNewAppObjInfoMap_LogicValuesList.Add(objAppLogicValues);
            }


            if (objNewAppObjInfoMap_LogicValuesList != null)
            {
                objAppObjInfoMap_Logic.AppObjInfoMap_LogicValues_List_VW = objNewAppObjInfoMap_LogicValuesList;
            }
        }
        public AppObjInfoMap_Logic GetIAppObjInfoMap_Logic(AppObjInfoMap_Logic objIAppObjInfoMap_Logic)
        {
            string vComTxt = @"SELECT Distinct  A.[ObjAppInfoMapLogicCode]
                                  ,A.[ModuleObjMapCode]
                                  ,A.[IsFieldPolicy]
                                  ,A.[FieldType1]
                                  ,A.[DBFieldName1]
                                  ,A.[FieldType2]
                                  ,A.[DBFieldName2]
                                  ,A.[FieldType3]
                                  ,A.[DBFieldName3]
                              FROM [LS_AppObjInfoMap_Logic] A
                                        JOIN LS_AppObjectInfoMap B ON A.ModuleObjMapCode = B.ModuleObjMapCode
                                    AND A.CompanyCode = 1 WHERE A.ActionType<>'DELETE'  AND B.Active=1";


            if (!String.IsNullOrEmpty(objIAppObjInfoMap_Logic.ModuleObjMapCode_FK))
            {
                vComTxt += @" And  A.ModuleObjMapCode ='" + objIAppObjInfoMap_Logic.ModuleObjMapCode_FK + "'";
            }
            SqlConnection connection = _supplierDbContext.GetConn();

            try
            {
                connection.Open();
                SqlDataReader dr;
                SqlCommand    command = new SqlCommand(vComTxt, connection);
                dr = command.ExecuteReader();
                //while (dr.Read())
                //{
                if (dr.Read())
                {
                    objIAppObjInfoMap_Logic.ObjAppInfoMapLogicCode_PK = dr["ObjAppInfoMapLogicCode"].ToString();
                    objIAppObjInfoMap_Logic.ModuleObjMapCode_FK       = dr["ModuleObjMapCode"].ToString();

                    objIAppObjInfoMap_Logic.IsFieldPolicy = Convert.ToInt32(dr["IsFieldPolicy"]);

                    if (objIAppObjInfoMap_Logic.IsFieldPolicy == 1)
                    {
                        if (!string.IsNullOrEmpty(dr["FieldType1"].ToString()))
                        {
                            objIAppObjInfoMap_Logic.FieldType1 = Convert.ToInt32(dr["FieldType1"]);
                        }

                        if (!string.IsNullOrEmpty(dr["DBFieldName1"].ToString()))
                        {
                            objIAppObjInfoMap_Logic.DBFieldName1 = dr["DBFieldName1"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dr["FieldType2"].ToString()))
                        {
                            objIAppObjInfoMap_Logic.FieldType2 = Convert.ToInt32(dr["FieldType2"]);
                        }
                        if (!string.IsNullOrEmpty(dr["DBFieldName2"].ToString()) && dr["DBFieldName2"].ToString() != "-1")
                        {
                            objIAppObjInfoMap_Logic.DBFieldName2 = dr["DBFieldName2"].ToString();
                        }

                        if (!string.IsNullOrEmpty(dr["FieldType3"].ToString()))
                        {
                            objIAppObjInfoMap_Logic.FieldType3 = Convert.ToInt32(dr["FieldType3"]);
                        }

                        if (!string.IsNullOrEmpty(dr["DBFieldName3"].ToString()) && dr["DBFieldName3"].ToString() != "-1")
                        {
                            objIAppObjInfoMap_Logic.DBFieldName3 = dr["DBFieldName3"].ToString();
                        }

                        //if (!string.IsNullOrEmpty(dr["ActiveYN"].ToString()))
                        //{
                        //    objIAppObjInfoMap_Logic.ActiveYN = Convert.ToInt32(dr["ActiveYN"]);
                        //}
                        GetAppObjInfoMapLogicValuesList(objIAppObjInfoMap_Logic);
                    }
                }
                else
                {
                    objIAppObjInfoMap_Logic = null;
                }
                //}
            }

            catch (DbException ex)
            {
                throw ex;
            }
            finally
            {
                connection.Close();
            }


            return(objIAppObjInfoMap_Logic);
        }