Beispiel #1
0
 public ActionResult Create(clsCorrelativoVM oCorrelativoVm)
 {
     try
     {
         if (ModelState.IsValid)
         {
             clsCorrelativo oCorrelativo = new clsCorrelativo(clsAppInfo.Connection);
             DataMove(oCorrelativo, oCorrelativoVm, false);
             if (oCorrelativo.Insert())
             {
                 return(RedirectToAction("Index"));
             }
         }
         ViewBagLoad();
         return(View(oCorrelativoVm));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("httpErrorMsg", "Error", new { MessageErr = ex.Message }));
     }
 }
Beispiel #2
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));
            }
        }