// GET: Periodo/Details/5
        public ActionResult Details(int id)
        {
            try
            {
                this.GetDefaultData();

                if (ReferenceEquals(id, null))
                {
                    return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = "Índice nulo o no encontrado" }));
                }

                clsPeriodoVM oGestionVM = PeriodoFind(Convert.ToInt32(id));

                if (ReferenceEquals(oGestionVM, null))
                {
                    return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = "Índice no encontrado" }));
                }

                return(View(oGestionVM));
            }

            catch (Exception exp)
            {
                return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = exp.Message }));
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            try
            {
                if (ReferenceEquals(id, null))
                {
                    ViewBag.MessageErr = resources.Resources.IndiceNulo;
                }

                clsPeriodo oPeriodo = new clsPeriodo(clsAppInfo.Connection);

                oPeriodo.WhereFilter  = clsPeriodo.WhereFilters.PrimaryKey;
                oPeriodo.VM.PeriodoId = id;

                if (oPeriodo.Delete())
                {
                    return(RedirectToAction("Index"));
                }


                clsPeriodoVM periodoVM = PeriodoFind(id);
                return(View(periodoVM));
            }

            catch (Exception exp)
            {
                return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = exp.Message }));
            }
        }
        // GET: Periodo/Delete/5
        public ActionResult Delete(int?id)
        {
            try
            {
                this.GetDefaultData();

                if (ReferenceEquals(id, null))
                {
                    return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = resources.Resources.IndiceNulo }));
                }

                clsPeriodoVM oPeriodoVM = PeriodoFind(Convert.ToInt32(id));

                if (ReferenceEquals(oPeriodoVM, null))
                {
                    ViewBag.Mesagge = resources.Resources.ObjetoNoEncontrado;
                }


                return(View(oPeriodoVM));
            }

            catch (Exception exp)
            {
                return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = exp.Message }));
            }
        }
        public ActionResult Edit(clsPeriodoVM oPeriodoVM)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    clsPeriodo oPeriodo = new clsPeriodo(clsAppInfo.Connection);
                    DataMove(oPeriodo, oPeriodoVM, true);

                    if (oPeriodo.Update())
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ViewBag.MessageErr = resources.Resources.NoActualizado;
                    }
                }


                return(View(oPeriodoVM));
            }

            catch (Exception exp)
            {
                ViewBag.MessageErr = exp.Message;
                return(View(oPeriodoVM));
            }
        }
        //---------------

        private void DataMove(clsPeriodo oPeriodo, clsPeriodoVM oPeriodoVM, Boolean editing)
        {
            if (editing)
            {
                oPeriodo.VM.PeriodoId = SysData.ToLong(oPeriodoVM.PeriodoId);
            }

            oPeriodo.VM.GestionId     = SysData.ToLong(oPeriodoVM.GestionId);
            oPeriodo.VM.MesId         = SysData.ToLong(oPeriodoVM.MesId);
            oPeriodo.VM.PeriodoFecIni = SysData.ToDate(oPeriodoVM.PeriodoFecIni);
            oPeriodo.VM.PeriodoFecFin = SysData.ToDate(oPeriodoVM.PeriodoFecFin);
            oPeriodo.VM.EstadoId      = SysData.ToLong(oPeriodoVM.EstadoId);
        }
        // GET: Periodo/Create
        public ActionResult Create()
        {
            try
            {
                clsPeriodoVM oPeriodo = new clsPeriodoVM();
                oPeriodo.EstadoId = ConstEstado.Activo;
                this.GetDefaultData();

                return(View(oPeriodo));
            }
            catch (Exception e) {
                return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = e.Message }));
            }
        }
        public ActionResult Create(clsPeriodoVM oPeriodoVM)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    clsPeriodo oPeriodo = new clsPeriodo(clsAppInfo.Connection);
                    DataMove(oPeriodo, oPeriodoVM, false);
                    if (oPeriodo.Insert())
                    {
                        return(RedirectToAction("Index"));
                    }
                }

                return(View(oPeriodoVM));
            }
            catch (Exception e)
            {
                return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = e.Message }));
            }
        }
        private clsPeriodoVM PeriodoFind(int periodoId)
        {
            clsPeriodo   oPeriodo   = new clsPeriodo(clsAppInfo.Connection);
            clsPeriodoVM oPeriodoVM = new clsPeriodoVM();

            try
            {
                oPeriodo.VM.PeriodoId = periodoId;

                if (oPeriodo.FindByPK())
                {
                    oPeriodoVM = oPeriodo.VM;
                }
            }
            catch (Exception exp)
            {
                throw exp;
            }
            finally {
                oPeriodo.Dispose();
            }
            return(oPeriodoVM);
        }
        // GET: Periodo/Edit/5
        public ActionResult Edit(int id)
        {
            try
            {
                this.GetDefaultData();
                if (ReferenceEquals(id, null))
                {
                    ViewBag.MessageErr = resources.Resources.IndiceNulo;
                }
                clsPeriodoVM oPeriodoVm = PeriodoFind(id);
                if (ReferenceEquals(oPeriodoVm, null))
                {
                    ViewBag.MessageErr = "Ninguna referencia para el indice";
                }


                return(View(oPeriodoVm));
            }
            catch (Exception e) {
                return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = e.Message }));
            }

            return(View());
        }
Example #10
0
        public ActionResult GenerarCorrelativo(int tipo, int prefijo, int gestion)
        {
            clsPrefijo oPrefijo = new clsPrefijo(clsAppInfo.Connection);

            try
            {
                clsCorrelativo oCorrelativo = new clsCorrelativo(clsAppInfo.Connection);
                clsPrefijo     oPrefijoSel  = PrefijoFind(prefijo);
                clsGestionVM   oGestion     = GestionFind(gestion);

                if (tipo == TipoCorrelativo.Anual)
                {
                    oCorrelativo = new clsCorrelativo(clsAppInfo.Connection);

                    DataMoveCorrelativ(oCorrelativo, oPrefijoSel, oGestion);

                    if (oCorrelativo.Insert())
                    {
                        return(Content("ok"));
                    }
                }
                else if (tipo == TipoCorrelativo.Periodo)
                {
                    int maxPrefijoNro = oPrefijoSel.PrefijoNro;
                    if (ExistePrefijo(maxPrefijoNro + 1))
                    {
                        return(Content("El Prefijo nro " + (maxPrefijoNro + 1) + " ya existe"));
                    }

                    List <clsPeriodoVM> periodoList = PeriodoList(oGestion.GestionId);
                    if (periodoList.Count == 0)
                    {
                        return(Content(resources.Resources.GestionSinPeriodo));
                    }

                    // para el primer periodo de la gestion
                    clsPeriodoVM firtP = periodoList[0];
                    periodoList.RemoveAt(0);
                    int inserted = 0;

                    DataMovePref(oPrefijo, oPrefijoSel, firtP.MesDes);
                    oPrefijo.PrefijoId = oPrefijoSel.PrefijoId;
                    oPrefijo.BeginTransaction();

                    if (oPrefijo.Update())
                    {
                        oCorrelativo.Transaction = oPrefijo.Transaction;
                        oGestion.GestionFecIni   = firtP.PeriodoFecIni;
                        oGestion.GestionFecFin   = firtP.PeriodoFecFin;
                        DataMoveCorrelativ(oCorrelativo, oPrefijo, oGestion);
                        if (oCorrelativo.Insert())
                        {
                            inserted++;
                        }

                        //los demas
                        foreach (clsPeriodoVM periodo in periodoList)
                        {
                            DataMovePref(oPrefijo, oPrefijoSel, periodo.MesDes);
                            maxPrefijoNro       = maxPrefijoNro + 1;
                            oPrefijo.PrefijoNro = maxPrefijoNro;
                            if (oPrefijo.Insert())
                            {
                                oGestion.GestionFecIni = periodo.PeriodoFecIni;
                                oGestion.GestionFecFin = periodo.PeriodoFecFin;

                                DataMoveCorrelativ(oCorrelativo, oPrefijo, oGestion);
                                oCorrelativo.PrefijoId = oPrefijo.Id;
                                if (oCorrelativo.Insert())
                                {
                                    inserted++;
                                }
                            }
                        }
                        if (inserted == periodoList.Count + 1)
                        {
                            oPrefijo.Commit();
                            return(Content("ok"));
                        }
                    }
                    oPrefijo.Rollback();
                }


                return(RedirectToAction("Index"));
            }
            catch (Exception exp)
            {
                oPrefijo.Rollback();
                return(Content(exp.Message));
            }
        }