//eliminar detalles de presupuesto
        public bool Delete(int Id)
        {
            var rpta = false;

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    var dPresupuesto = ctx.SPDetallePresupuesto.Where(x => x.Id == Id).SingleOrDefault();
                    if (dPresupuesto != null)
                    {
                        var dimensiones = ctx.SPCostoByDimension.Where(x => x.detalle_presupuesdoId == Id).ToList();

                        //eliminamos los existentes en el detalle
                        ctx.SPCostoByDimension.RemoveRange(dimensiones);
                        ctx.SaveChanges();

                        ctx.Entry(dPresupuesto).State = EntityState.Deleted;
                        ctx.SaveChanges();
                        rpta = true;
                    }
                }
            }
            catch
            {
            }
            return(rpta);
        }
Esempio n. 2
0
        //metodo para guardar actividads
        public string Save()
        {
            string rpta = "";

            this.estado = "I";
            this.fecha  = DateTime.Today;

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    if (this.Id > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;
                    }
                    ctx.SaveChanges();
                    rpta = "presupuesto ah sido registrado con exito";
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 3
0
        //guardar un empleado
        public string Save()
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    this.estado = "A";
                    if (this.empleadoId > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;
                    }
                    else
                    {
                        ctx.SPEmpleado.Add(this);
                    }
                    ctx.SaveChanges();
                }
            }
            catch
            {
            }

            return(rpta);
        }
Esempio n. 4
0
        public string ActivarODesactivarLote(int loteId, string estado)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    var lote = ctx.SPSubLote.Where(x => x.Id == loteId).SingleOrDefault();
                    lote.estado           = estado;
                    ctx.Entry(lote).State = EntityState.Modified;
                    ctx.SaveChanges();

                    if (estado == "A")
                    {
                        rpta = "Lote ah sido activado";
                    }
                    else
                    {
                        rpta = "Lote ha sido desactivado";
                    }
                }
            }
            catch
            {
                throw;
            }

            return(rpta);
        }
Esempio n. 5
0
        //metodo para guardar actividads
        public string Save()
        {
            string rpta = "";

            this.estado = "A";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    if (this.Id > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;
                    }
                    ctx.SaveChanges();
                    rpta = "Tipo cambio registrada con exito";
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 6
0
        //metodo para eliminar a nivel logico una actividad
        public bool Delete(int id)
        {
            var rpta = false;

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    var tipo = this.GetById(id);

                    if (tipo != null)
                    {
                        tipo.estado           = "I";
                        ctx.Entry(tipo).State = EntityState.Modified;
                        ctx.SaveChanges();
                        rpta = true;
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }


            return(rpta);
        }
Esempio n. 7
0
        //metodo para guardar lote y detalle lote
        public string Save(CreateSubLoteDto model)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            var sublote = new SPSubLote
                            {
                                Id             = model.Id,
                                codigo         = model.codigo,
                                nombre         = model.nombre,
                                loteId         = model.loteId,
                                cultivoId      = model.cultivoId,
                                variedadId     = model.variedadId,
                                metros         = model.metros,
                                altura         = model.altura,
                                ancho          = model.ancho,
                                densidad       = model.densidad,
                                factor_manzana = model.factor_manzana,
                                techado        = model.techado,
                                fecha_inicio   = model.fecha_inicio,
                                fecha_fin      = model.fecha_fin,
                                estado         = "A"
                            };
                            if (sublote.Id > 0)
                            {
                                ctx.Entry(sublote).State = EntityState.Modified;
                            }
                            else
                            {
                                ctx.SPSubLote.Add(sublote);
                            }
                            ctx.SaveChanges();
                            transaction.Commit();
                            rpta = "Lote registado correctamente";
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 8
0
        //metodo para guardar lote y detalle lote
        public string Save(CentroCostoDto model, string op)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            var ccosto = new CentrodeCosto
                            {
                                codigo        = model.codigo,
                                descripcion   = model.descripcion,
                                Region        = model.Region,
                                CorrelativoTD = model.CorrelativoTD,
                                Correlativo   = model.Correlativo,
                                CodigoNAV     = model.CodigoNAV,
                                paisId        = model.paisId,
                                estado        = "A"
                            };

                            if (op == "G")
                            {
                                ctx.CentrodeCosto.Add(ccosto);
                            }
                            else
                            {
                                ctx.Entry(ccosto).State = EntityState.Modified;
                            }
                            ctx.SaveChanges();

                            transaction.Commit();
                            rpta = "Centro de costo registado correctamente";
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 9
0
        //metodo para guardar lote y detalle lote
        public string Save()
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            this.estado = "A";
                            if (this.Id > 0)
                            {
                                ctx.Entry(this).State = EntityState.Modified;
                            }
                            else
                            {
                                ctx.SPLote.Add(this);
                            }
                            ctx.SaveChanges();

                            transaction.Commit();
                            rpta = "Lote registado correctamente";
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 10
0
        public bool Delete(int Id)
        {
            var rpta = false;

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    var dPresupuesto = ctx.SPPresupuestoContable.Where(x => x.Id == Id).SingleOrDefault();
                    if (dPresupuesto != null)
                    {
                        ctx.Entry(dPresupuesto).State = EntityState.Deleted;
                        ctx.SaveChanges();
                        rpta = true;
                    }
                }
            }
            catch
            {
            }
            return(rpta);
        }
Esempio n. 11
0
        public string Delete(int productoId)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    var producto = ctx.SPProducto.Where(x => x.productoId == productoId).SingleOrDefault();
                    producto.estado           = estado;
                    ctx.Entry(producto).State = EntityState.Modified;
                    ctx.SaveChanges();
                    rpta = "producto ha sido removido";
                }
            }
            catch
            {
                throw;
            }

            return(rpta);
        }
        //actualizar el total del presupuesto
        public bool updateTotal(int presupuestoId, decimal?total_estimado)
        {
            var rpta = false;

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    var presupuesto = ctx.SPPresupuesto.Where(x => x.Id == presupuestoId).SingleOrDefault();
                    if (presupuesto != null)
                    {
                        presupuesto.total_estimado   = total_estimado;
                        ctx.Entry(presupuesto).State = EntityState.Modified;
                        ctx.SaveChanges();
                        rpta = true;
                    }
                }
            }
            catch
            {
            }

            return(rpta);
        }
Esempio n. 13
0
        public bool Save(CreateUsuarioDto model)
        {
            var rpta = false;

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transacion = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            if (model.Id == 0)
                            {
                                model.password = HashHelper.SHA256(model.password);
                            }

                            var usuario = new SPUsuario
                            {
                                Id       = model.Id,
                                email    = model.email,
                                usuario  = model.usuario,
                                password = model.password,
                                estado   = "A"
                            };

                            if (usuario.Id > 0)
                            {
                                ctx.Entry(usuario).State = EntityState.Modified;
                            }
                            else
                            {
                                ctx.Entry(usuario).State = EntityState.Added;
                            }
                            ctx.SaveChanges();

                            var usuarioId = usuario.Id;

                            //eliminamos los existentes para sustituirlos
                            var permisos = ctx.SPUsuarioPermiso.Where(x => x.usuarioId == usuarioId).ToList();
                            ctx.SPUsuarioPermiso.RemoveRange(permisos);
                            ctx.SaveChanges();

                            foreach (var u in model.permisos)
                            {
                                var usuario_permiso = new SPUsuarioPermiso
                                {
                                    usuarioId = usuarioId,
                                    permisoId = u
                                };

                                ctx.Entry(usuario_permiso).State = EntityState.Added;
                                ctx.SaveChanges();
                            }

                            //eliminamos los existentes de la tabla paises
                            var paises = ctx.SPUsuarioPais.Where(x => x.usuarioId == usuarioId).ToList();
                            ctx.SPUsuarioPais.RemoveRange(paises);
                            ctx.SaveChanges();

                            foreach (var p in model.paises)
                            {
                                var usuario_pais = new SPUsuarioPais
                                {
                                    usuarioId = usuarioId,
                                    paisId    = p
                                };

                                ctx.Entry(usuario_pais).State = EntityState.Added;
                                ctx.SaveChanges();
                            }

                            //eliminamos los presupuestos asignados anteriormente
                            var presupuestos = ctx.SPUsuarioPresupuesto.Where(x => x.usuarioId == usuarioId).ToList();
                            ctx.SPUsuarioPresupuesto.RemoveRange(presupuestos);
                            ctx.SaveChanges();
                            if (model.presupuestos != null)
                            {
                                foreach (var p in model.presupuestos)
                                {
                                    var usuario_p = new SPUsuarioPresupuesto {
                                        usuarioId = usuarioId,
                                        tipoId    = p
                                    };

                                    ctx.Entry(usuario_p).State = EntityState.Added;
                                    ctx.SaveChanges();
                                }
                            }

                            transacion.Commit();
                            rpta = true;
                        }catch (Exception e)
                        {
                            transacion.Rollback();
                            throw e;
                        }
                    }
                }
            }catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
        //metodo para guardar lote y detalle lote
        public string Save(CreateSubcentroDto model)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            var subCentroCosto = new SPSubCentroCosto
                            {
                                Id         = model.Id,
                                fincaId    = model.fincaId,
                                nombre     = model.nombre,
                                codigo_nav = model.codigo_nav,
                                codigo     = model.codigo,
                                estado     = "A"
                            };

                            if (subCentroCosto.Id > 0)
                            {
                                ctx.Entry(subCentroCosto).State = EntityState.Modified;
                            }
                            else
                            {
                                ctx.SPSubCentroCosto.Add(subCentroCosto);
                            }
                            ctx.SaveChanges();

                            int fincaId = subCentroCosto.Id;

                            //eliminamos los existentes para sustituirlos
                            var detalles = ctx.SPCCostoActividad.Where(x => x.fincaId == fincaId).ToList();
                            ctx.SPCCostoActividad.RemoveRange(detalles);
                            ctx.SaveChanges();

                            if (model.actividades != null)
                            {
                                foreach (var d in model.actividades)
                                {
                                    var detalle = new SPCCostoActividad
                                    {
                                        fincaId     = fincaId,
                                        actividadId = d
                                    };

                                    ctx.SPCCostoActividad.Add(detalle);
                                    ctx.SaveChanges();
                                }
                            }
                            transaction.Commit();
                            rpta = "sub centro de costo registado correctamente";
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 15
0
        public string SaveFile(CargaMasivaCt model)
        {
            string rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (var transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            foreach (var m in model.detalle)
                            {
                                var newPsContalle = new SPPresupuestoContable
                                {
                                    Id              = model.Id,
                                    presupuestoId   = model.presupuestoId,
                                    subcentroId     = m.subcentroId,
                                    loteId          = m.loteId,
                                    cuenta_contable = m.cuenta_contable,
                                    codigo_cuenta   = m.codigo_cuenta,
                                    enero           = m.enero,
                                    febrero         = m.febrero,
                                    marzo           = m.marzo,
                                    abril           = m.abril,
                                    mayo            = m.mayo,
                                    junio           = m.junio,
                                    julio           = m.julio,
                                    agosto          = m.agosto,
                                    septiembre      = m.septiembre,
                                    octubre         = m.octubre,
                                    noviembre       = m.noviembre,
                                    diciembre       = m.diciembre,
                                    detalle         = m.detalle,
                                    total           = m.enero + m.febrero + m.marzo + m.abril + m.marzo + m.junio +
                                                      m.julio + m.agosto + m.septiembre + m.octubre + m.noviembre +
                                                      m.diciembre
                                };

                                ctx.Configuration.AutoDetectChangesEnabled = false;
                                ctx.SPPresupuestoContable.Add(newPsContalle);
                                ctx.SaveChanges();
                            }


                            transaction.Commit();
                            rpta = "Carga de datos realizada correctamente";
                        }
                        catch (Exception e)
                        {
                            transaction.Rollback();
                            throw e;
                        }
                    }
                }
            }catch (Exception e)
            {
                throw;
            }
            return(rpta);
        }
        //guardar carga masiva
        public string saveFile(CargaMasivaCreateDto model)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            foreach (var d in model.detalle)
                            {
                                var detalle = new SPDetallePresupuesto
                                {
                                    Id               = model.Id,
                                    presupuestoId    = model.presupuestoId,
                                    referencia       = d.referencia,
                                    cantidad         = d.cantidad,
                                    total_referencia = d.total_referencia,
                                    fincaId          = d.fincaId,
                                    subloteId        = d.subloteId,
                                    unidad_by_p_cs   = d.unidad_by_p_cs,
                                    costo_by_p_cs    = d.costo_by_p_cs
                                };


                                ctx.Configuration.AutoDetectChangesEnabled = false;
                                ctx.SPDetallePresupuesto.Add(detalle);
                                ctx.SaveChanges();

                                var detalleId = detalle.Id;

                                if (model.codigoTipo == "P_MO")
                                {
                                    //obtener dimensiones por actividad
                                    SPDimension _dimension  = new SPDimension();
                                    var         dimensiones = _dimension.GetDimensionesbyActividad(detalle.referencia);
                                    if (dimensiones.Count > 0)
                                    {
                                        //eliminamos los existentes para sustituirlos
                                        var costosdim = ctx.SPCostoByDimension.Where(x => x.detalle_presupuesdoId == detalleId).ToList();
                                        ctx.SPCostoByDimension.RemoveRange(costosdim);
                                        ctx.SaveChanges();

                                        foreach (var ca in dimensiones)
                                        {
                                            var costo_actividad = new SPCostoByDimension
                                            {
                                                dimensionId           = ca.dimensionId,
                                                detalle_presupuesdoId = detalleId,
                                                costo = Convert.ToDouble(detalle.total_referencia) * (ca.factor / 100)
                                            };

                                            //costo_actividad.costo = Math.Round(Convert.ToDecimal(costo_actividad.costo), 2);
                                            ctx.Configuration.AutoDetectChangesEnabled = false;
                                            ctx.SPCostoByDimension.Add(costo_actividad);
                                            ctx.SaveChanges();
                                        }
                                    }
                                }
                            }

                            transaction.Commit();
                            rpta = "Carga de datos realizada correctamente";
                        }
                        catch (Exception e)
                        {
                            transaction.Rollback();
                            throw e;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
Esempio n. 17
0
        //metodo para guardar lote y detalle lote
        public string Save(ProductoDto model)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            var producto = new SPProducto
                            {
                                productoId  = model.productoId,
                                codigo      = model.codigo,
                                nombre      = model.nombre,
                                categoriaId = model.categoriaId,
                                cultivoId   = model.cultivoId,
                                tipo        = model.tipo,
                                estado      = "A",
                            };

                            if (producto.productoId > 0)
                            {
                                ctx.Entry(producto).State = EntityState.Modified;
                            }
                            else
                            {
                                ctx.SPProducto.Add(producto);
                            }
                            ctx.SaveChanges();

                            //obtenemos el ultimo id insertado
                            var productoId = producto.productoId;

                            //eliminamos los existentes para sustituirlos
                            var detalles = ctx.SPProductoPresentacion.Where(x => x.productoId == productoId && x.productoId == model.productoId).ToList();
                            ctx.SPProductoPresentacion.RemoveRange(detalles);
                            ctx.SaveChanges();

                            if (model.detalle != null)
                            {
                                foreach (var d in model.detalle)
                                {
                                    var detalle = new SPProductoPresentacion
                                    {
                                        Id             = d.Id,
                                        productoId     = productoId,
                                        presentacionId = d.presentacionId,
                                    };


                                    ctx.SPProductoPresentacion.Add(detalle);
                                    ctx.SaveChanges();
                                }
                            }

                            transaction.Commit();
                            rpta = "producto registado correctamente";
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(rpta);
        }
        //guardar o actualizar lotes
        public string Save(CreateDetalleManoObraDto model)
        {
            var rpta = "";

            try
            {
                using (var ctx = new PresupuestoContext())
                {
                    using (DbContextTransaction transaction = ctx.Database.BeginTransaction())
                    {
                        try
                        {
                            if (model.referencia == null)
                            {
                                model.referencia = model.referencia_producto;
                            }

                            var d_manoObra = new SPDetallePresupuesto
                            {
                                Id               = model.Id,
                                presupuestoId    = model.presupuestoId,
                                fincaId          = model.fincaId,
                                subloteId        = model.loteId,
                                referencia       = model.referencia,
                                total_referencia = model.total_referencia,
                                cantidad         = model.cantidad,
                                unidad_by_p_cs   = model.unidad_by_p_cs,
                                costo_by_p_cs    = model.costo_by_p_cs,
                                estado           = "I"
                            };

                            if (d_manoObra.Id > 0)
                            {
                                ctx.Entry(d_manoObra).State = EntityState.Modified;
                            }
                            else
                            {
                                ctx.Entry(d_manoObra).State = EntityState.Added;
                            }
                            ctx.SaveChanges();

                            ctx.Database.ExecuteSqlCommand("UPDATE SPDetallePresupuesto SET estado = 'I' WHERE presupuestoId IN (@p0) and fincaId IN (@p1)", d_manoObra.presupuestoId, d_manoObra.fincaId);

                            var detalleId = d_manoObra.Id;

                            //obtener dimensiones por actividad
                            SPDimension _dimension  = new SPDimension();
                            var         dimensiones = _dimension.GetDimensionesbyActividad(d_manoObra.referencia);
                            if (dimensiones.Count > 0)
                            {
                                //eliminamos los existentes para sustituirlos
                                var costosdim = ctx.SPCostoByDimension.Where(x => x.detalle_presupuesdoId == detalleId).ToList();
                                ctx.SPCostoByDimension.RemoveRange(costosdim);
                                ctx.SaveChanges();

                                foreach (var ca in dimensiones)
                                {
                                    var costo_actividad = new SPCostoByDimension
                                    {
                                        dimensionId           = ca.dimensionId,
                                        detalle_presupuesdoId = detalleId,
                                        costo = Convert.ToDouble(d_manoObra.total_referencia) * (ca.factor / 100)
                                    };

                                    //costo_actividad.costo = Math.Round(Convert.ToDecimal(costo_actividad.costo), 2);

                                    ctx.SPCostoByDimension.Add(costo_actividad);
                                    ctx.SaveChanges();
                                }
                            }

                            transaction.Commit();
                            rpta = "accion se agrego presupuesto correctamente";
                        }
                        catch (Exception e)
                        {
                            transaction.Rollback();
                            throw e;
                        }
                    }
                }
            }
            catch
            {
            }
            return(rpta);
        }