Ejemplo n.º 1
0
        public JsonResult approval_process_in(approval_process_in_lib[] obj, int module_id, bool all, int group)
        {
            int company_id   = Convert.ToInt32(Crypto.url_decrypt(Request.Cookies["CompanyId"]));
            int warehouse_id = Convert.ToInt32(Crypto.url_decrypt(Request.Cookies["WarehouseId"]));
            int created_by   = Convert.ToInt32(Crypto.url_decrypt(Request.Cookies["UserId"]));
            approval_process_in_lib result = _master.approval_process_inAsync(obj, group, module_id, all, company_id, warehouse_id, created_by).Result;
            JsonResult json = Json(result);

            return(json);
        }
        public approval_process_in_lib approval_process_in(approval_process_in_lib[] obj, int approval_group_id, int module_id, bool all, int company_id, int warehouse_id, int created_by)
        {
            approval_process_in_lib          ret  = new approval_process_in_lib();
            List <menu_view_restriction_lib> resp = new List <menu_view_restriction_lib>();
            DataTable dt = new DataTable();

            ret.module_id = 1;
            SqlConnection  oConn = new SqlConnection(_master);
            SqlTransaction oTrans;

            oConn.Open();
            oTrans = oConn.BeginTransaction();
            SqlCommand oCmd = new SqlCommand();

            oCmd.Connection  = oConn;
            oCmd.Transaction = oTrans;
            try
            {
                if (all)
                {
                    SqlDataAdapter da = new SqlDataAdapter();
                    da.SelectCommand             = oCmd;
                    oCmd.CommandText             = "modules_view";
                    da.SelectCommand.CommandType = CommandType.StoredProcedure;
                    oCmd.Parameters.Clear();
                    oCmd.Parameters.AddWithValue("@module_id", 0);
                    oCmd.Parameters.AddWithValue("@is_ap", true);
                    oCmd.Parameters.AddWithValue("@is_active", true);
                    da.Fill(dt);
                    resp = (from DataRow dr in dt.Rows
                            select new menu_view_restriction_lib()
                    {
                        module_id = Convert.ToInt32(dr["module_id"].ToString()),
                    }).ToList();

                    foreach (var m in resp)
                    {
                        oCmd.CommandText = "approval_process_del";
                        oCmd.CommandType = CommandType.StoredProcedure;
                        oCmd.Parameters.Clear();
                        oCmd.Parameters.AddWithValue("@module_id", m.module_id);
                        oCmd.Parameters.AddWithValue("@approval_group_id", approval_group_id);
                        oCmd.Parameters.AddWithValue("@warehouse_id", warehouse_id);
                        oCmd.Parameters.AddWithValue("@company_id", company_id);
                        oCmd.ExecuteNonQuery();

                        int seq = 0;
                        foreach (var x in obj)
                        {
                            foreach (var y in x.employee)
                            {
                                oCmd.CommandText = "approval_process_in";
                                oCmd.CommandType = CommandType.StoredProcedure;
                                oCmd.Parameters.Clear();
                                oCmd.Parameters.AddWithValue("@module_id", m.module_id);
                                oCmd.Parameters.AddWithValue("@status", x.status);
                                oCmd.Parameters.AddWithValue("@seq", seq);
                                oCmd.Parameters.AddWithValue("@approval_group_id", approval_group_id);
                                oCmd.Parameters.AddWithValue("@employee_id", y.employee_id);
                                oCmd.Parameters.AddWithValue("@warehouse_id", warehouse_id);
                                oCmd.Parameters.AddWithValue("@company_id", company_id);
                                oCmd.Parameters.AddWithValue("@active", x.active);
                                oCmd.Parameters.AddWithValue("@created_by", created_by);
                                oCmd.ExecuteNonQuery();
                            }
                            seq++;
                        }
                    }
                }
                else
                {
                    oCmd.CommandText = "approval_process_del";
                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.Parameters.Clear();
                    oCmd.Parameters.AddWithValue("@module_id", module_id);
                    oCmd.Parameters.AddWithValue("@approval_group_id", approval_group_id);
                    oCmd.Parameters.AddWithValue("@warehouse_id", warehouse_id);
                    oCmd.Parameters.AddWithValue("@company_id", company_id);
                    oCmd.ExecuteNonQuery();

                    int seq = 0;
                    foreach (var x in obj)
                    {
                        foreach (var y in x.employee)
                        {
                            oCmd.CommandText = "approval_process_in";
                            oCmd.CommandType = CommandType.StoredProcedure;
                            oCmd.Parameters.Clear();
                            oCmd.Parameters.AddWithValue("@module_id", module_id);
                            oCmd.Parameters.AddWithValue("@status", x.status);
                            oCmd.Parameters.AddWithValue("@seq", seq);
                            oCmd.Parameters.AddWithValue("@approval_group_id", approval_group_id);
                            oCmd.Parameters.AddWithValue("@employee_id", y.employee_id);
                            oCmd.Parameters.AddWithValue("@warehouse_id", warehouse_id);
                            oCmd.Parameters.AddWithValue("@company_id", company_id);
                            oCmd.Parameters.AddWithValue("@active", x.active);
                            oCmd.Parameters.AddWithValue("@created_by", created_by);
                            oCmd.ExecuteNonQuery();
                        }
                        seq++;
                    }
                }
                oTrans.Commit();
            }
            catch (Exception e)
            {
                ret.module_id = 0;
                Console.WriteLine("Error: " + e.Message);
                error_log_in("0", "SP = util_dropdown_setting_in | " + e.Message, company_id, created_by);
                oTrans.Rollback();
            }
            finally
            {
                oConn.Close();
            }
            return(ret);
        }