示例#1
0
        public ActionResult EditPost(int?id, string SelectedKeys)
        {
            clsRegTipoPersona oRegTipoPersona = new clsRegTipoPersona(clsAppInfo.Connection);
            long lngTipoPersonaId             = SysData.ToLong(id);
            long lngRowCount = 0;

            try
            {
                JArray ArrayId = JArray.Parse(SelectedKeys);

                if (ModelState.IsValid)
                {
                    oRegTipoPersona.BeginTransaction();

                    oRegTipoPersona.DeleteFilter  = clsRegTipoPersona.DeleteFilters.TipoPersonaId;
                    oRegTipoPersona.TipoPersonaId = lngTipoPersonaId;
                    oRegTipoPersona.Delete();

                    foreach (var lngId in ArrayId)
                    {
                        oRegTipoPersona.TipoPersonaId = lngTipoPersonaId;
                        oRegTipoPersona.PlanGrupoId   = SysData.ToLong(lngId);
                        oRegTipoPersona.EstadoId      = ConstEstado.Activo;

                        if (oRegTipoPersona.Insert())
                        {
                            lngRowCount += 1;
                        }
                    }

                    if (ArrayId.Count == lngRowCount)
                    {
                        oRegTipoPersona.Commit();
                        return(RedirectToAction("Index"));
                    }

                    oRegTipoPersona.Rollback();
                }

                return(RedirectToAction("Edit", new { id = lngTipoPersonaId }));
            }

            catch (Exception exp)
            {
                oRegTipoPersona.Rollback();

                ViewBag.MessageErr = exp.Message;
                return(RedirectToAction("Edit", new { id = lngTipoPersonaId }));
            }
        }
        private string PlanGrupoIdLoad(long lngTipoPersonaId)
        {
            clsRegTipoPersona          oRegTipoPersona   = new clsRegTipoPersona(clsAppInfo.Connection);
            List <clsRegTipoPersonaVM> oRegTipoPersonaVM = new List <clsRegTipoPersonaVM>();
            long   lngRowCount    = 0;
            string strPlanGrupoId = "";

            try
            {
                oRegTipoPersona.SelectFilter     = clsRegTipoPersona.SelectFilters.All;
                oRegTipoPersona.WhereFilter      = clsRegTipoPersona.WhereFilters.TipoPersonaId;
                oRegTipoPersona.OrderByFilter    = clsRegTipoPersona.OrderByFilters.RegTipoPersonaId;
                oRegTipoPersona.VM.TipoPersonaId = lngTipoPersonaId;

                if (oRegTipoPersona.Open())
                {
                    foreach (DataRow dr in oRegTipoPersona.DataSet.Tables[oRegTipoPersona.TableName].Rows)
                    {
                        if (lngRowCount == 0)
                        {
                            strPlanGrupoId = "[" + SysData.ToStr(dr[clsRegTipoPersonaVM._PlanGrupoId]);
                        }
                        else
                        {
                            strPlanGrupoId += "," + SysData.ToStr(dr[clsRegTipoPersonaVM._PlanGrupoId]);
                        }

                        lngRowCount++;
                    }

                    if (lngRowCount > 0)
                    {
                        strPlanGrupoId += "]";
                    }
                }
            }

            catch (Exception exp)
            {
                throw (exp);
            }
            finally
            {
                oRegTipoPersona.Dispose();
            }

            return(strPlanGrupoId);
        }