コード例 #1
0
        public JsonResult CargarSemillasToPptoCorporativo(NuevoEjercicioModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    IRepositoryWrapper _repository = new RepositoryWrapper();// (new FTPresupuestoEntities());
                    var resultDelete = _repository.CatPresupuestos.EliminaEjercicioSemillas(model.VersionId, model.Ejercicio);
                    if (!resultDelete.Item1)
                    {
                        throw new Exception(string.Join(Environment.NewLine, resultDelete.Item2));
                    }

                    var result = _repository.CatPresupuestos.CargaEjercicioSemillas(model.VersionId);
                    if (!result.Item1)
                    {
                        throw new Exception(string.Join(Environment.NewLine, result.Item2));
                    }
                    return(Json($"El Proceso finalizo de manera correcta a las {DateTime.Now.ToLongTimeString()} el {DateTime.Now.ToShortDateString()}"));
                }
                catch (Exception ex)
                {
                    string    errorMensaje = ex.Message;
                    Exception _ex          = ex.InnerException;
                    while (_ex != null)
                    {
                        errorMensaje = _ex.Message;
                        _ex          = _ex.InnerException;
                    }
                    return(Json(errorMensaje)); //Json(ex.InnerException.Message);
                }
            }
            return(Json("La Informacion esta Incompleta para procesar el nuevo ejercicio"));
        }
コード例 #2
0
        public JsonResult AgregarNuevaVersionFertilizantes(NuevoEjercicioModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    using (FTPresupuestoEntities _db = new FTPresupuestoEntities())
                    {
                        _db.Database.CommandTimeout = 0;

                        _db.GenVersion_Ppto_Fertilizantes(model.VersionId, true, model.Observaciones, User.Identity.Name, model.Ejercicio, model.Consecutivo);
                        //_db.SaveChanges();
                    }
                    return(Json("El Proceso finalizo de manera correcta"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null)
                    {
                        return(Json(ex.InnerException.Message));
                    }
                    return(Json(ex.Message));
                }
            }
            return(Json("Informacion Incompleta"));
        }
コード例 #3
0
        public JsonResult CerrarEjercicioSemillas(NuevoEjercicioModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    using (FTPresupuestoEntities _db = new FTPresupuestoEntities())
                    {
                        var versionActual = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.SEMILLAS);

                        var _version = _db.VersionPresupuesto.Where(x => x.VersionPresupuestoId == model.VersionId).FirstOrDefault();
                        if (_version == null)
                        {
                            throw new Exception("No se encontro la version de presupuesto seleccionada");
                        }
                        _version.Observaciones = model.Observaciones;
                        if ((_version.EstaCerrado ?? false))
                        {
                            throw new Exception("Esta version ya esta marcada como Ejercicio CERRADO");
                        }
                        _version.EstaCerrado       = true;
                        _version.UltimaFechaCierre = DateTime.Now;
                        _version.UsuarioIdCierre   = User.Identity.Name;

                        // SE GUARDA EL CAMBIO EN PREESTATUS
                        PreEstatus logEstatus = new PreEstatus();
                        logEstatus.EmpresaId            = 0;
                        logEstatus.SucursalId           = 0;
                        logEstatus.EsActual             = (versionActual == model.VersionId) ? true : false;
                        logEstatus.Estatus              = "CERRADO";
                        logEstatus.Fecha                = DateTime.Now;
                        logEstatus.TipoPresupuesto      = (int)enumTipoDePresupuesto.SEMILLAS;
                        logEstatus.UsuarioId            = User.Identity.Name;
                        logEstatus.VersionPresupuestoId = model.VersionId;

                        _db.PreEstatus.Add(logEstatus);

                        _db.SaveChanges();
                    }
                    return(Json("Presupuesto de Semillas se marcó como CERRADO de manera correcta"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null)
                    {
                        return(Json(ex.InnerException.Message));
                    }
                    else
                    {
                        return(Json(ex.Message));
                    }
                }
            }
            return(Json("La Informacion es Incompleta"));
        }
コード例 #4
0
        public ActionResult AbrirGastos(string Id)
        {
            var                model      = new NuevoEjercicioModel();
            DateTime           _fecha     = _unitOfWork.getDateTimeFromServer();
            int                _versionID = Convert.ToInt32(Id);
            VersionPresupuesto _version   = _unitOfWork.GetRepositoryInstance <VersionPresupuesto>().GetFirstOrDefault(_versionID);

            model.Ejercicio     = _version.Ejercicio;
            model.Consecutivo   = _version.Consecutivo;
            model.VersionId     = _version.VersionPresupuestoId;
            model.Observaciones = _version.Observaciones;

            int tp = Convert.ToInt32(enumTipoDePresupuesto.GASTOS);

            return(View(model));
        }
コード例 #5
0
        public ActionResult CerrarFertilizantes(string Id)
        {
            var                model      = new NuevoEjercicioModel();
            DateTime           _fecha     = _unitOfWork.getDateTimeFromServer();
            int                _versionID = Convert.ToInt32(Id);
            VersionPresupuesto _version   = _unitOfWork.GetRepositoryInstance <VersionPresupuesto>().GetFirstOrDefault(_versionID);

            model.Ejercicio     = _version.Ejercicio;
            model.Consecutivo   = _version.Consecutivo;
            model.VersionId     = _version.VersionPresupuestoId;
            model.Observaciones = _version.Observaciones;

            int tp = Convert.ToInt32(enumTipoDePresupuesto.FERTILIZANTES);


            //ViewData["Empresas"] = FTPresupuestoProvider.GetAllEmpresasWithTODAS();
            return(View(model));
        }
コード例 #6
0
        public ActionResult Semillas()
        {
            var                model      = new NuevoEjercicioModel();
            DateTime           _fecha     = _unitOfWork.getDateTimeFromServer();
            int                _versionID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.SEMILLAS);
            VersionPresupuesto _version   = _unitOfWork.GetRepositoryInstance <VersionPresupuesto>().GetFirstOrDefault(_versionID);

            if (_version == null)
            {
                _version                 = new VersionPresupuesto();
                _version.Consecutivo     = 1;
                _version.Ejercicio       = _fecha.Year;
                _version.TipoPresupuesto = (int)enumTipoDePresupuesto.SEMILLAS;
                _version.UsuarioCreacion = User.Identity.Name;
                _version.FechaCreacion   = _fecha;
            }
            model.Ejercicio     = _version.Ejercicio;
            model.Consecutivo   = _version.Consecutivo;
            model.VersionId     = _version.VersionPresupuestoId;
            model.Observaciones = _version.Observaciones;

            //ViewData["Empresas"] = FTPresupuestoProvider.GetAllEmpresasWithTODAS();
            return(View(model));
        }
コード例 #7
0
        public JsonResult GenerarNuevoEjercicioGastos(NuevoEjercicioModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    int versionActualID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.GASTOS);
                    int versionPptoID   = model.VersionId;

                    // SE VALIDA QUE NO SE HAYA EJECUTADO DOS VECES EL MISMO PROCESO
                    if (versionPptoID > 0)
                    {
                        if (versionActualID != versionPptoID)
                        {
                            return(Json("Proceso Duplicado"));
                        }
                    }
                    // SE INICIALIZA LA CONEXION Y CONTEXTO DE BASE DE DATOS
                    using (FTPresupuestoEntities _db = new FTPresupuestoEntities())
                    {
                        // SE VALIDA EN CASO DE SER LA PRIMERA VERSION DEL EJERCICIO O QUE NO EXISTA UNA VERSION ANTERIOR EN EL EJERCICIO
                        if (model.VersionId == 0)
                        {
                            VersionPresupuesto versionPpto = new VersionPresupuesto
                            {
                                Consecutivo     = model.Consecutivo,
                                Ejercicio       = model.Ejercicio,
                                FechaCreacion   = _unitOfWork.getDateOnlyFromServer(),
                                Observaciones   = model.Observaciones,
                                TipoPresupuesto = (int)enumTipoDePresupuesto.GASTOS,
                                UsuarioCreacion = User.Identity.Name
                            };
                            versionPpto = _db.VersionPresupuesto.Add(versionPpto);
                            _db.SaveChanges();
                            versionPptoID = versionPpto.VersionPresupuestoId;
                        }

                        // CONFIGURAMOS PARA QUE EL TIEMMPO DE RESPUESTA SEA INDEFINIDO
                        _db.Database.CommandTimeout = 0;

                        // SE GENERA LA NUEVA VERSION. INTERNAMENTE EL SP VALIDA SI DEBE COPIAR O NO

                        _db.GenVersion_Ppto_Gastos(model.VersionId, true, model.Observaciones, User.Identity.Name, model.Ejercicio, model.Consecutivo);

                        //_db.GeneraNuevaVersionGastosPresupuesto(model.VersionId, true, model.Observaciones, User.Identity.Name, model.Ejercicio, model.Consecutivo);
                        //_db.SaveChanges();

                        // VALIDAMOS LA VERSION DE PRESUPUESTO A PROCESAR, DEBE SER LA ULTIMA
                        int versionProcesarID = FTPresupuestoProvider.getVersionPresupuestoIdByTipo(enumTipoDePresupuesto.GASTOS);

                        // SE EJECUTA LA CARGA DE PRESUPUESTO BASE
                        _db.temp_ppto_gastos_G(model.EmpresaId, model.Ejercicio, versionProcesarID);
                    }
                    return(Json("El Proceso finalizo de manera correcta"));
                }
                catch (Exception ex)
                {
                    return(Json(ex.InnerException.Message));
                }
                //FTPresupuestoProvider.CrearNuevoEjercicioGastos(model, User.Identity.Name);
                //FTPresupuestoProvider.CrearNuevoEjercicioGastosLocalmente(model, User.Identity.Name);
                //return RedirectToAction("Gastos", "Versiones");
            }
            return(Json("La Informacion esta Incompleta para procesar el nuevo ejercicio"));
        }
コード例 #8
0
        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));
        }