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 })); } }
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)); } }