public async Task <ActionResult> NuevaBaseEjercicioGastos() { IRepositoryWrapper _repo = new RepositoryWrapper(); var model = new NuevaBaseEjercicioModel(); model.SelectedEmpresaMes = ""; DateTime _fecha = _unitOfWork.getDateTimeFromServer(); int _versionID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.GASTOS); VersionPresupuesto _version = _unitOfWork.GetRepositoryInstance <VersionPresupuesto>().GetFirstOrDefault(_versionID); if (_version == null) { _version = new VersionPresupuesto(); _version.Consecutivo = 1; _version.Ejercicio = _fecha.Year; _version.TipoPresupuesto = (int)enumTipoDePresupuesto.GASTOS; _version.UsuarioCreacion = User.Identity.Name; _version.FechaCreacion = _fecha; } model.Ejercicio = _version.Ejercicio; model.Consecutivo = _version.Consecutivo; model.VersionId = _version.VersionPresupuestoId; model.Observaciones = _version.Observaciones; int anioActual = _fecha.Year; int mesActual = _fecha.Month; int tp = Convert.ToInt32(enumTipoDePresupuesto.GASTOS); int maxConsecutivo = 0; using (FTPresupuestoEntities _db = new FTPresupuestoEntities()) { maxConsecutivo = _db.VersionPresupuesto .Where(v => v.TipoPresupuesto == tp && v.Ejercicio == model.Ejercicio) .Select(v => v.Consecutivo) .DefaultIfEmpty(0) .Max(); } model.Consecutivo = maxConsecutivo + 1; ViewData["Empresas"] = FTPresupuestoProvider.GetAllEmpresasWithTODAS(); var listaEmpresasMeses = await _repo.Gastos.getEmpresasMesesAsync(); ViewData["EmpresasMeses"] = listaEmpresasMeses .OrderBy(x => x.Clave_Empresa).ThenByDescending(x => x.Ejercicio).ThenByDescending(x => x.Mes) .ToList(); return(View(model)); }
public ActionResult NuevoEjercicioGastos() { var model = new NuevoEjercicioModel(); DateTime _fecha = _unitOfWork.getDateTimeFromServer(); int _versionID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.GASTOS); VersionPresupuesto _version = _unitOfWork.GetRepositoryInstance <VersionPresupuesto>().GetFirstOrDefault(_versionID); //VerPpto _version = FTPresupuestoProvider.getVersionPresupuestoByTipo(enumTipoDePresupuesto.Gastos); if (_version == null) { _version = new VersionPresupuesto(); _version.Consecutivo = 1; _version.Ejercicio = _fecha.Year; _version.TipoPresupuesto = (int)enumTipoDePresupuesto.GASTOS; _version.UsuarioCreacion = User.Identity.Name; _version.FechaCreacion = _fecha; } model.Ejercicio = _version.Ejercicio; model.Consecutivo = _version.Consecutivo; model.VersionId = _version.VersionPresupuestoId; model.Observaciones = _version.Observaciones; int anioActual = _fecha.Year; int mesActual = _fecha.Month; if (mesActual > 9) { if (anioActual >= _version.Ejercicio) { model.Ejercicio = anioActual + 1; model.Consecutivo = 1; model.VersionId = 0; model.Observaciones = string.Empty; } } else { model.Ejercicio = anioActual; //model.Consecutivo = 1; //model.VersionId = 0; model.Observaciones = string.Empty; } if (anioActual == _version.Ejercicio) { if (mesActual > 9) { model.Ejercicio = anioActual + 1; model.Consecutivo = 1; model.VersionId = 0; model.Observaciones = string.Empty; } else { model.Ejercicio = anioActual; //model.Consecutivo = 1; //model.VersionId = 0; model.Observaciones = string.Empty; } } //if (anioActual == _version.Ejercicio && mesActual > 9) //{ // model.Ejercicio = anioActual + 1; // model.Consecutivo = 1; // model.VersionId = 0; // model.Observaciones = string.Empty; //} //if (anioActual > _version.Ejercicio && mesActual <= 9) //{ // model.Ejercicio = anioActual; // model.Consecutivo = 1; // model.VersionId = 0; // model.Observaciones = string.Empty; //} int tp = Convert.ToInt32(enumTipoDePresupuesto.GASTOS); int maxConsecutivo = 0; using (FTPresupuestoEntities _db = new FTPresupuestoEntities()) { maxConsecutivo = _db.VersionPresupuesto .Where(v => v.TipoPresupuesto == tp && v.Ejercicio == model.Ejercicio) .Select(v => v.Consecutivo) .DefaultIfEmpty(0) .Max(); } model.Consecutivo = maxConsecutivo + 1; ViewData["Empresas"] = FTPresupuestoProvider.GetAllEmpresasWithTODAS(); return(View(model)); }