예제 #1
0
        protected void BuscarDocumento(CompraEntidad CompraObjetoEntidad)
        {
            ResultadoEntidad Resultado            = new ResultadoEntidad();
            CompraProceso    CompraProcesoNegocio = new CompraProceso();

            Resultado = CompraProcesoNegocio.SeleccionarCompra(CompraObjetoEntidad);

            if (Resultado.ErrorId == 0)
            {
                if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 1)
                {
                    CompraIdHidden.Value = Resultado.ResultadoDatos.Tables[0].Rows[0]["CompraId"].ToString();
                    ValidarDocumento();
                }
                else
                {
                    CompraIdHidden.Value      = "0";
                    EtiquetaMensajeError.Text = "No existe ese documento";
                    TablaActivo.DataSource    = null;
                    TablaActivo.DataBind();
                    DesbloquearDocumento();
                }
            }
            else
            {
                EtiquetaMensajeError.Text = Resultado.DescripcionError;
            }
        }
예제 #2
0
        protected void BuscarDocumento()
        {
            CompraEntidad CompraObjetoEntidad = new CompraEntidad();

            CompraObjetoEntidad.ProveedorId     = Int16.Parse(ProveedorId.SelectedValue);
            CompraObjetoEntidad.TipoDocumentoId = Int16.Parse(TipoDocumentoId.SelectedValue);
            CompraObjetoEntidad.CompraFolio     = CompraFolio.Text.Trim();

            BuscarDocumento(CompraObjetoEntidad);
        }
예제 #3
0
        public ResultadoEntidad SeleccionarCompra(CompraEntidad CompraObjetoEntidad)
        {
            string           CadenaConexion     = string.Empty;
            ResultadoEntidad Resultado          = new ResultadoEntidad();
            CompraAcceso     CompraAccesoObjeto = new CompraAcceso();

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Activos);

            Resultado = CompraAccesoObjeto.SeleccionarCompra(CompraObjetoEntidad, CadenaConexion);

            return(Resultado);
        }
예제 #4
0
        public static void Insertar(CompraEntidad compra)
        {
            Database   db      = DatabaseFactory.CreateDatabase("Default");
            SqlCommand comando = new SqlCommand("PA_InsertarCompra");

            comando.CommandType = CommandType.StoredProcedure;
            //Parámetros
            comando.Parameters.AddWithValue("@fecha", compra.fecha);
            comando.Parameters.AddWithValue("@idUsuario", compra.idUsuario);
            comando.Parameters.AddWithValue("@idProducto", compra.idProducto);
            comando.Parameters.AddWithValue("@cantidadProductos", compra.cantidadProductos);
            comando.Parameters.AddWithValue("@total", compra.total);
            db.ExecuteNonQuery(comando);
        }
예제 #5
0
        public static List <CompraEntidad> ObtenerComprasporUsuario(int idUsuario)
        {
            List <CompraEntidad> lista = new List <CompraEntidad>();

            lista = CompraLN.ObtenerTodos();
            CompraEntidad compra = new CompraEntidad();

            foreach (var item in lista)
            {
                compra = (lista.Find(elemento => elemento.idUsuario == idUsuario));
                lista.Add(compra);
            }

            return(lista);
        }
예제 #6
0
        public bool BuscarCompraPorFolio(CompraEntidad CompraObjetoEntidad)
        {
            bool             ExisteDocumento           = false;
            ResultadoEntidad Resultado                 = new ResultadoEntidad();
            CompraEntidad    BuscarCompraObjetoEntidad = new CompraEntidad();

            BuscarCompraObjetoEntidad.ProveedorId     = CompraObjetoEntidad.ProveedorId;
            BuscarCompraObjetoEntidad.TipoDocumentoId = CompraObjetoEntidad.TipoDocumentoId;
            BuscarCompraObjetoEntidad.CompraFolio     = CompraObjetoEntidad.CompraFolio;

            Resultado = SeleccionarCompra(BuscarCompraObjetoEntidad);

            if (Resultado.ResultadoDatos.Tables[0].Rows.Count > 0)
            {
                ExisteDocumento = true;
            }

            return(ExisteDocumento);
        }
예제 #7
0
        public static List <CompraEntidad> ObtenerTodos()
        {
            List <CompraEntidad> lista = new List <CompraEntidad>();
            DataSet ds = CompraDatos.SeleccionarTodos();

            foreach (DataRow fila in ds.Tables[0].Rows)
            {
                CompraEntidad registro = new CompraEntidad();
                registro.idCompra          = Convert.ToInt16(fila["idCompra"]);
                registro.fecha             = Convert.ToDateTime(fila["fecha"].ToString());
                registro.idUsuario         = Convert.ToInt16(fila["idCompra"]);
                registro.idProducto        = Convert.ToInt16(fila["idCompra"]);
                registro.cantidadProductos = Convert.ToInt16(fila["idCompra"]);
                registro.total             = Convert.ToDecimal(fila["idCompra"]);

                lista.Add(registro);
            }
            return(lista);
        }
        protected void BuscarDocumento(int CompraId)
        {
            ResultadoEntidad Resultado            = new ResultadoEntidad();
            CompraEntidad    CompraObjetoEntidad  = new CompraEntidad();
            CompraProceso    CompraProcesoNegocio = new CompraProceso();

            CompraObjetoEntidad.CompraId = CompraId;

            Resultado = CompraProcesoNegocio.SeleccionarCompra(CompraObjetoEntidad);

            if (Resultado.ErrorId == 0)
            {
                if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 1)
                {
                    TipoDocumentoLabel.Text = Resultado.ResultadoDatos.Tables[0].Rows[0]["NombreTipoDocumento"].ToString();
                    FacturaLabel.Text       = Resultado.ResultadoDatos.Tables[0].Rows[0]["CompraFolio"].ToString();
                    SeleccionarAsignacion(CompraId);
                }
            }
        }
예제 #9
0
        protected ResultadoEntidad BuscarActivo()
        {
            ResultadoEntidad ResultadoEntidad       = new ResultadoEntidad();
            ActivoEntidad    ActivoObjetoEntidad    = new ActivoEntidad();
            ActivoProceso    ActivoProcesoObjeto    = new ActivoProceso();
            EmpleadoProceso  EmpleadoProcesoObjeto  = new EmpleadoProceso();
            EmpleadoEntidad  EmpleadoObjetoEntidad  = new EmpleadoEntidad();
            AccesorioEntidad AccesorioEntidadObjeto = new AccesorioEntidad();
            CompraEntidad    CompraEntidadObjeto    = new CompraEntidad();
            UsuarioEntidad   UsuarioSessionEntidad  = new UsuarioEntidad();
            bool             EsAccesorio            = false;
            bool             EsActivoPadre          = false;


            ActivoObjetoEntidad.CodigoBarrasParticular = CodigoBarrasBaja.Text.Trim();
            ActivoObjetoEntidad.TipoActivoId           = ObtenerTipoActivoId();
            UsuarioSessionEntidad = (UsuarioEntidad)Session["UsuarioEntidad"];

            ResultadoEntidad = ActivoProcesoObjeto.ValidarExistenciaActivoSalida(ActivoObjetoEntidad, UsuarioSessionEntidad.RolId);



            if (ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoDadoDeBaja || ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoNoEncontrado ||
                ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoConEstatusSalida || ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.PermisoDenegado)
            {
                return(ResultadoEntidad);
            }
            else
            if (ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoNoAsignado)
            {
                NumeroEmpleado.Text = "XXXXXXXXX";
                NombreEmpleado.Text = "Activo en almacen";
                return(ResultadoEntidad);
            }

            else if (ResultadoEntidad.ErrorId == (int)ConstantePrograma.EntradasSalidas.ActivoValidoParaSalida || ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoPadre || ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoEsAccresorioAsignado)
            {
                if (ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoPadre)
                {
                    EsActivoPadre = true;
                }
                if (ResultadoEntidad.ErrorId == (int)ConstantePrograma.BajaActivo.ActivoEsAccresorioAsignado)
                {
                    EsAccesorio          = true;
                    ActivoIdHidden.Value = ResultadoEntidad.NuevoRegistroId.ToString();
                }
                else
                {
                    ActivoIdHidden.Value = ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["ActivoId"].ToString();
                }

                EmpleadoObjetoEntidad.EmpleadoId = Int16.Parse(ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["EmpleadoResguardoId"].ToString());
                EmpleadoIdHidden.Value           = ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["EmpleadoResguardoId"].ToString();
                ResultadoEntidad = EmpleadoProcesoObjeto.SeleccionarEmpleado(EmpleadoObjetoEntidad);


                NumeroEmpleado.Text = ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["NumeroEmpleado"].ToString();
                NombreEmpleado.Text = ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["Nombre"].ToString() + " " + ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["ApellidoPaterno"].ToString();

                ResultadoEntidad = ActivoProcesoObjeto.SeleccionarActivoPorCompra(ActivoObjetoEntidad);
                //CompraEntidadObjeto.CompraId=Int16.Parse(ResultadoEntidad.ResultadoDatos.Tables[0].Rows[0]["CompraId"].ToString());


                CodigoBarrasParticularHidden.Value = ActivoObjetoEntidad.CodigoBarrasParticular;
                if (EsAccesorio == true)
                {
                    //mostrar mensaje cuando sea una accesorio asignado

                    ResultadoEntidad.DescripcionError = TextoError.ActivoEsAccresorioAsignado;
                    ResultadoEntidad.ErrorId          = (int)ConstantePrograma.BajaActivo.ActivoEsAccresorioAsignado;

                    return(ResultadoEntidad);
                }

                if (EsActivoPadre == true)
                {
                    ResultadoEntidad.DescripcionError = TextoError.ActivoPadre;
                    ResultadoEntidad.ErrorId          = (int)ConstantePrograma.BajaActivo.ActivoPadre;

                    AccesorioEntidadObjeto.ActivoId = Int16.Parse(ActivoIdHidden.Value.ToString());

                    ControlBuscarAccesorio.InicioControl(AccesorioEntidadObjeto);
                    ActualizarTablaAsignacion.Update();

                    return(ResultadoEntidad);
                }

                return(ResultadoEntidad);
            }
            return(ResultadoEntidad);
        }
예제 #10
0
        public ResultadoEntidad GuardarRecepcion(CompraEntidad CompraObjetoEntidad, Int16 TipoMovimientoId)
        {
            string                CadenaConexion               = string.Empty;
            ResultadoEntidad      Resultado                    = new ResultadoEntidad();
            ResultadoEntidad      ResultadoTemporalActivo      = new ResultadoEntidad();
            TemporalActivoEntidad TemporalActivoObjetoEntidad  = new TemporalActivoEntidad();
            ActivoEntidad         ActivoObjetoEntidad          = new ActivoEntidad();
            TemporalActivoProceso TemporalActivoProcesoNegocio = new TemporalActivoProceso();
            ActivoProceso         ActivoProcesoNegocio         = new ActivoProceso();
            SqlTransaction        Transaccion;
            SqlConnection         Conexion;

            if (BuscarCompraPorFolio(CompraObjetoEntidad) == true)
            {   // Se busca si ya existe una compra de ese proveedor con ese mismo tipo de documento y ese mismo folio
                Resultado.ErrorId          = (int)ConstantePrograma.Compra.DocumentoDuplicado;
                Resultado.DescripcionError = TextoError.RecepcionDocumentoDuplicado;
                return(Resultado);
            }

            //Se seleccionan todos los activos temporales
            TemporalActivoObjetoEntidad.TemporalCompraId = CompraObjetoEntidad.TemporalCompraId;

            ResultadoTemporalActivo = TemporalActivoProcesoNegocio.SeleccionarTemporalActivo(TemporalActivoObjetoEntidad);

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Activos);

            Conexion = new SqlConnection(CadenaConexion);
            Conexion.Open();

            Transaccion = Conexion.BeginTransaction();

            Resultado = GuardarCompra(Conexion, Transaccion, CompraObjetoEntidad);

            // Si la compra fue guardada correctamente, se obtiene su ID
            if (Resultado.ErrorId == (int)ConstantePrograma.Compra.CompraGuardadoCorrectamente)
            {
                CompraObjetoEntidad.CompraId = (Int16)Resultado.NuevoRegistroId;

                // Ahora se barren los activos temporales para insertarlos uno por uno
                Resultado = GuardarActivo(Conexion, Transaccion, CompraObjetoEntidad, ResultadoTemporalActivo.ResultadoDatos, TipoMovimientoId);

                if (Resultado.ErrorId == (int)ConstantePrograma.Activo.ActivoGuardadoCorrectamente ||
                    Resultado.ErrorId == (int)ConstantePrograma.Accesorio.AccesorioGuardadoCorrectamente)
                {
                    Transaccion.Commit();
                    Resultado.ErrorId = (int)ConstantePrograma.Compra.RecepcionGuardadoCorrectamente;

                    //// Si se insertaron los activos y los accesorios exitosamente, se editan los estatus de los activos acesorios a Asignado
                    //ActivoObjetoEntidad.TemporalCompraId = CompraObjetoEntidad.TemporalCompraId;
                    //ActivoObjetoEntidad.EstatusId = (Int16)ConstantePrograma.EstatusActivos.Asignado;

                    //Resultado = ActivoProcesoNegocio.ActualizarActivoEstatus(Conexion, Transaccion, ActivoObjetoEntidad);

                    //// Si se edito los activos exitosamente termina la transaccion
                    //if (Resultado.ErrorId == (int)ConstantePrograma.Activo.ActivoAsignadoCorrectamente)
                    //{
                    //    Transaccion.Commit();
                    //    Resultado.ErrorId = (int)ConstantePrograma.Compra.RecepcionGuardadoCorrectamente;
                    //}
                    //else
                    //{
                    //    Transaccion.Rollback();
                    //}
                }
                else
                {
                    Transaccion.Rollback();
                }
            }
            else
            {
                Transaccion.Rollback();
            }

            Conexion.Close();

            return(Resultado);
        }
예제 #11
0
        public ResultadoEntidad GuardarCompra(SqlConnection Conexion, SqlTransaction Transaccion, CompraEntidad CompraObjetoEntidad)
        {
            ResultadoEntidad Resultado          = new ResultadoEntidad();
            CompraAcceso     CompraAccesoObjeto = new CompraAcceso();

            Resultado = CompraAccesoObjeto.InsertarCompra(Conexion, Transaccion, CompraObjetoEntidad);

            return(Resultado);
        }
예제 #12
0
        protected void calculoDescuento()
        {
            if (Session["usuario"] == null)
            {
                mensajeDescuento = "Ingrese sesion para ver sus cupones y obtener descuentos!";
            }
            else
            {
                //Usuario autentificado
                UsuarioEntidad user = (UsuarioEntidad)Session["usuario"];


                CompraEntidad compra = new CompraEntidad();


                //Datos producto
                double descuento  = 0;
                double totalPagar = 0;
                foreach (var item in listaCarrito)
                {
                    compra.idProducto = item.idProducto;
                    totalPagar        = Convert.ToDouble(item.total);
                }



                //Consultar cupon por usuario
                List <CuponEntidad> cupones = new List <CuponEntidad>();
                cupones = CuponLN.ObtenerCuponporUsuario(user.idUsuario);
                foreach (var item in cupones)
                {
                    if (item.idNivel == user.nivelEntidad.idNivel && item.idProducto == compra.idProducto)
                    {
                        NivelEntidad nivel = NivelLN.Obtener(item.idNivel);
                        if (nivel.descripcion == "Bronce")
                        {
                            compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.02));
                            descuento    = totalPagar * 0.02;
                        }
                        else
                        {
                            if (nivel.descripcion == "Plata")
                            {
                                compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.05));
                                descuento    = totalPagar * 0.05;
                            }
                            else
                            {
                                if (nivel.descripcion == "Oro")
                                {
                                    compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.07));
                                    descuento    = totalPagar * 0.07;
                                }
                                else
                                {
                                    compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.10));
                                    descuento    = totalPagar * 0.10;
                                }
                            }
                        }
                    }
                }

                descuentoGlobal = Convert.ToDecimal(descuento);
                totalFinal      = Convert.ToDecimal(totalPagar - descuento);
            }
        }
예제 #13
0
 public static void Nuevo(CompraEntidad compra)
 {
     CompraDatos.Insertar(compra);
 }
예제 #14
0
        protected void btnPagar_Command(object sender, CommandEventArgs e)
        {
            if (Session["usuario"] == null)
            {
                Response.Redirect("inicioSesion.aspx");
            }
            else
            {
                //Usuario autentificado
                UsuarioEntidad user = (UsuarioEntidad)Session["usuario"];


                CompraEntidad compra = new CompraEntidad();
                compra.fecha     = DateTime.Now;
                compra.idUsuario = user.idUsuario;

                //Datos producto
                double descuento  = 0;
                double totalPagar = 0;
                foreach (var item in listaCarrito)
                {
                    compra.idProducto        = item.idProducto;
                    compra.cantidadProductos = item.cantidadProductos;
                    totalPagar = Convert.ToDouble(item.total);
                }



                //Consultar cupon por usuario
                List <CuponEntidad> cupones = new List <CuponEntidad>();
                cupones = CuponLN.ObtenerCuponporUsuario(user.idUsuario);
                foreach (var item in cupones)
                {
                    if (item.idNivel == user.nivelEntidad.idNivel && item.idProducto == compra.idProducto)
                    {
                        NivelEntidad nivel = NivelLN.Obtener(item.idNivel);
                        if (nivel.descripcion == "Bronce")
                        {
                            compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.02));
                            descuento    = totalPagar * 0.02;
                        }
                        else
                        {
                            if (nivel.descripcion == "Plata")
                            {
                                compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.05));
                                descuento    = totalPagar * 0.05;
                            }
                            else
                            {
                                if (nivel.descripcion == "Oro")
                                {
                                    compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.07));
                                    descuento    = totalPagar * 0.07;
                                }
                                else
                                {
                                    if (nivel.descripcion == "Diamante")
                                    {
                                        compra.total = Convert.ToDecimal(totalPagar - (totalPagar * 0.10));
                                        descuento    = totalPagar * 0.10;
                                    }
                                    else
                                    {
                                        compra.total = Convert.ToDecimal(totalPagar);
                                    }
                                }
                            }
                        }
                    }
                }


                if (compra != null)
                {
                    if (compra.total == 0)
                    {
                        compra.total = Convert.ToDecimal(totalPagar);
                    }

                    CompraLN.Nuevo(compra);
                    CompraLN.limpiarLista();
                    descuentoGlobal = 0;
                    totalFinal      = 0;
                    Response.Redirect("carritoCompras.aspx");
                    this.lblMensaje.Text = "Compra realizada con exito";
                }
            }
        }
예제 #15
0
        public ResultadoEntidad InsertarCompra(SqlConnection Conexion, SqlTransaction Transaccion, CompraEntidad CompraEntidadObjeto)
        {
            SqlCommand       Comando;
            SqlParameter     Parametro;
            ResultadoEntidad Resultado = new ResultadoEntidad();

            try
            {
                Comando             = new SqlCommand("InsertarCompraProcedimiento", Conexion);
                Comando.CommandType = CommandType.StoredProcedure;

                Comando.Transaction = Transaccion;

                Parametro       = new SqlParameter("EmpleadoId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.EmpleadoId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("JefeId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.JefeId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("ProveedorId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.ProveedorId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("TipoDocumentoId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.TipoDocumentoId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("UsuarioIdInserto", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.UsuarioIdInserto;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("CompraFolio", SqlDbType.VarChar);
                Parametro.Value = CompraEntidadObjeto.CompraFolio;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("FechaCompra", SqlDbType.VarChar);
                Parametro.Value = CompraEntidadObjeto.FechaCompra;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("Monto", SqlDbType.Decimal);
                Parametro.Value = CompraEntidadObjeto.Monto;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("OrdenCompra", SqlDbType.VarChar);
                Parametro.Value = CompraEntidadObjeto.OrdenCompra;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("FechaOc", SqlDbType.VarChar);
                Parametro.Value = CompraEntidadObjeto.FechaOc;
                Comando.Parameters.Add(Parametro);

                Resultado.NuevoRegistroId = int.Parse(Comando.ExecuteScalar().ToString());

                Resultado.ErrorId = (int)ConstantePrograma.Compra.CompraGuardadoCorrectamente;

                return(Resultado);
            }
            catch (SqlException sqlEx)
            {
                Resultado.ErrorId          = sqlEx.Number;
                Resultado.DescripcionError = sqlEx.Message;

                return(Resultado);
            }
        }
예제 #16
0
        public ResultadoEntidad SeleccionarCompra(CompraEntidad CompraEntidadObjeto, string CadenaConexion)
        {
            DataSet          ResultadoDatos = new DataSet();
            SqlConnection    Conexion       = new SqlConnection(CadenaConexion);
            SqlCommand       Comando;
            SqlParameter     Parametro;
            SqlDataAdapter   Adaptador;
            ResultadoEntidad Resultado = new ResultadoEntidad();

            try
            {
                Comando             = new SqlCommand("SeleccionarCompraProcedimiento", Conexion);
                Comando.CommandType = CommandType.StoredProcedure;

                Parametro       = new SqlParameter("CompraId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.CompraId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("EmpleadoId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.EmpleadoId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("JefeId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.JefeId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("ProveedorId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.ProveedorId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("TipoDocumentoId", SqlDbType.SmallInt);
                Parametro.Value = CompraEntidadObjeto.TipoDocumentoId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("CompraFolio", SqlDbType.VarChar);
                Parametro.Value = CompraEntidadObjeto.CompraFolio;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("OrdenCompra", SqlDbType.VarChar);
                Parametro.Value = CompraEntidadObjeto.OrdenCompra;
                Comando.Parameters.Add(Parametro);

                Adaptador      = new SqlDataAdapter(Comando);
                ResultadoDatos = new DataSet();

                Conexion.Open();
                Adaptador.Fill(ResultadoDatos);
                Conexion.Close();

                Resultado.ResultadoDatos = ResultadoDatos;

                return(Resultado);
            }
            catch (SqlException Excepcion)
            {
                Resultado.ErrorId          = Excepcion.Number;
                Resultado.DescripcionError = Excepcion.Message;

                return(Resultado);
            }
        }
예제 #17
0
        public ResultadoEntidad GuardarActivo(SqlConnection Conexion, SqlTransaction Transaccion, CompraEntidad CompraObjetoEntidad, DataSet dsActivo, Int16 TipoMovimientoId)
        {
            ResultadoEntidad  Resultado                = new ResultadoEntidad();
            ResultadoEntidad  ResultadoMovimiento      = new ResultadoEntidad();
            ActivoProceso     ActivoProcesoNegocio     = new ActivoProceso();
            ActivoEntidad     ActivoObjetoEntidad      = new ActivoEntidad();
            AsignacionEntidad AsignacionObjetoEntidad  = new AsignacionEntidad();
            AccesorioProceso  AccesorioProcesoNegocio  = new AccesorioProceso();
            AsignacionProceso AsignacionProcesoNegocio = new AsignacionProceso();
            AccesorioEntidad  AccesorioObjetoEntidad   = new AccesorioEntidad();
            Int16             UsuarioId                = 0;
            Int16             ActivoId = 0;

            UsuarioId = CompraObjetoEntidad.UsuarioIdInserto;

            //Se barren los activos y se insertan
            foreach (DataRow dtRegistro in dsActivo.Tables[0].Rows)
            {
                ActivoObjetoEntidad.CompraId         = CompraObjetoEntidad.CompraId;
                ActivoObjetoEntidad.TemporalActivoId = int.Parse(dtRegistro["TemporalActivoId"].ToString());
                //ActivoObjetoEntidad.EstatusId = EstatusId;

                Resultado = ActivoProcesoNegocio.GuardarActivo(Conexion, Transaccion, ActivoObjetoEntidad);

                //Si el activo se guardo correctamente se obtiene su ID, se inserta el movimiento de alta y se inserta los accesorios
                if (Resultado.ErrorId == (int)ConstantePrograma.Activo.ActivoGuardadoCorrectamente)
                {
                    ActivoId = (Int16)Resultado.NuevoRegistroId;

                    //Ahora se inserta el movimiento de alta
                    ResultadoMovimiento = GuardarMovimientoAlta(dtRegistro, ActivoId, UsuarioId, Conexion, Transaccion);

                    if (ResultadoMovimiento.ErrorId == (int)ConstantePrograma.Movimiento.MovimientoAltaGuardadoCorrectamente)
                    {
                        //Si el tipo de movimiento es Asignacion (pantalla Historial) se inserta el movimiento de Asignacion
                        if (TipoMovimientoId == (Int16)ConstantePrograma.TipoMovimiento.Asignacion)
                        {
                            //AsignacionObjetoEntidad.ActivoId = (Int16)Resultado.NuevoRegistroId;
                            //AsignacionObjetoEntidad.EmpleadoId = Int16.Parse(dtRegistro["EmpleadoId"].ToString());
                            //AsignacionObjetoEntidad.UsuarioIdInserto = UsuarioId;
                            //Resultado = AsignacionProcesoNegocio.GuardarAsignacion(Conexion, Transaccion, AsignacionObjetoEntidad);
                            ResultadoMovimiento = GuardarMovimientoAsignacion(dtRegistro, ActivoId, UsuarioId, Conexion, Transaccion);
                        }

                        if (ResultadoMovimiento.ErrorId == (int)ConstantePrograma.Movimiento.MovimientoAltaGuardadoCorrectamente ||
                            ResultadoMovimiento.ErrorId == (int)ConstantePrograma.Movimiento.MovimientoAsignacionGuardadoCorrectamente)
                        {
                            // Si el tipo de activo es de Vehiculo, entones puede tener accesorios, y se insertan
                            if (Int16.Parse(dtRegistro["TipoActivoId"].ToString()) == (Int16)ConstantePrograma.TipoAtivoConAccesorio.TipoActivoVehículoId)
                            {
                                AccesorioObjetoEntidad.ActivoId         = ActivoId;
                                AccesorioObjetoEntidad.TemporalActivoId = int.Parse(dtRegistro["TemporalActivoId"].ToString());
                                AccesorioObjetoEntidad.UsuarioIdInserto = UsuarioId;

                                Resultado = AccesorioProcesoNegocio.GuardarAccesorio(Conexion, Transaccion, AccesorioObjetoEntidad);

                                //Si el accesorio(s) no se guardo correctamente se sale
                                if (Resultado.ErrorId != (int)ConstantePrograma.Accesorio.AccesorioGuardadoCorrectamente)
                                {
                                    break;
                                }
                            }
                        }
                        else
                        {
                            Resultado.ErrorId = ResultadoMovimiento.ErrorId;
                            break;
                        }
                    }
                    else
                    {
                        Resultado.ErrorId = ResultadoMovimiento.ErrorId;
                        break;
                    }
                }
                else
                {
                    break;
                }
            }

            return(Resultado);
        }