예제 #1
0
        public BE.SolicitudCompra Obtener(int idSolicitudCompra, bool detalle = true)
        {
            BE.SolicitudCompra beSolicitudCompra = null;
            try
            {
                string sp = "SpTbSolicitudCompraObtener";

                using (var cnn = new SqlConnection(Conexion.strCnxBD))
                {
                    cnn.Open();

                    var cmd = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@IDSOLICITUDCOMPRA", idSolicitudCompra));

                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        beSolicitudCompra = new BE.SolicitudCompra();

                        int idEmpresa = int.Parse(reader["idEmpresa"].ToString());
                        beSolicitudCompra.Empresa = new Empresa().Obtener(idEmpresa);

                        int idTipoDocumento = int.Parse(reader["idTipoDocumento"].ToString());
                        beSolicitudCompra.TipoDocumento = new TipoDocumento().Obtener(idTipoDocumento);

                        beSolicitudCompra.IdSolicitudCompra = int.Parse(reader["idSolicitudCompra"].ToString());
                        beSolicitudCompra.Serie             = int.Parse(reader["serie"].ToString());
                        beSolicitudCompra.Tipo          = char.Parse(reader["idSolicitudCompra"].ToString());
                        beSolicitudCompra.FechaContable = DateTime.Parse(reader["fechaContable"].ToString());
                        beSolicitudCompra.FechaNecesita = DateTime.Parse(reader["fechaNecesita"].ToString());
                        beSolicitudCompra.Comentario    = reader["comentario"].ToString();
                        beSolicitudCompra.FechaCreacion = DateTime.Parse(reader["fechaCreacion"].ToString());
                        beSolicitudCompra.Total         = double.Parse(reader["total"].ToString());
                        beSolicitudCompra.Usuario       = reader["usuario"].ToString();
                        beSolicitudCompra.CodSap        = int.Parse(reader["codSap"].ToString());

                        if (detalle)
                        {
                            beSolicitudCompra.Detalle = this.Detalle(idSolicitudCompra);
                        }
                    }

                    cnn.Close();
                }

                return(beSolicitudCompra);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public static BE.SolicitudCompra SolicitudCompra(SE.SolicitudCompra sapSolicitudCompra)
        {
            BE.SolicitudCompra bdSolicitudCompra = null;
            try
            {
                if (sapSolicitudCompra != null)
                {
                    bdSolicitudCompra = new BE.SolicitudCompra();

                    bdSolicitudCompra.Serie         = sapSolicitudCompra.Serie;
                    bdSolicitudCompra.Tipo          = sapSolicitudCompra.Tipo;
                    bdSolicitudCompra.Usuario       = sapSolicitudCompra.Usuario;
                    bdSolicitudCompra.Comentario    = sapSolicitudCompra.Comentario;
                    bdSolicitudCompra.FechaContable = sapSolicitudCompra.FechaContable;
                    bdSolicitudCompra.FechaCreacion = sapSolicitudCompra.FechaCreacion;
                    bdSolicitudCompra.FechaNecesita = sapSolicitudCompra.FechaNecesita;
                    bdSolicitudCompra.IdSucursal    = sapSolicitudCompra.IdSucursal;
                    bdSolicitudCompra.IdArea        = sapSolicitudCompra.IdArea;
                    bdSolicitudCompra.CodSap        = sapSolicitudCompra.DocEntry;

                    bdSolicitudCompra.Detalle = new List <BE.SolicitudCompraDetalle>();

                    foreach (var sapDetalle in sapSolicitudCompra.Detalle)
                    {
                        var bdDetalle = new BE.SolicitudCompraDetalle();

                        bdDetalle.NroLinea       = sapDetalle.NroLinea;
                        bdDetalle.Codigo         = sapDetalle.Codigo;
                        bdDetalle.Descripcion    = sapDetalle.Descripcion;
                        bdDetalle.Cantidad       = sapDetalle.Cantidad;
                        bdDetalle.CodAlmacen     = sapDetalle.CodAlmacen;
                        bdDetalle.CodProyecto    = sapDetalle.CodProyecto;
                        bdDetalle.CodCentroCosto = sapDetalle.CodCentroCosto;
                        bdDetalle.CodProveedor   = sapDetalle.CodProveedor;

                        bdSolicitudCompra.Detalle.Add(bdDetalle);
                    }
                }

                return(bdSolicitudCompra);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        public static SE.SolicitudCompra SolicitudCompra(BE.SolicitudCompra beSolicitudCompra)
        {
            SE.SolicitudCompra seSolicitudCompra = null;
            try
            {
                if (beSolicitudCompra != null)
                {
                    seSolicitudCompra = new SE.SolicitudCompra();

                    seSolicitudCompra.Serie         = beSolicitudCompra.Serie;
                    seSolicitudCompra.Tipo          = beSolicitudCompra.Tipo;
                    seSolicitudCompra.Usuario       = beSolicitudCompra.Usuario;
                    seSolicitudCompra.Comentario    = beSolicitudCompra.Comentario;
                    seSolicitudCompra.FechaContable = beSolicitudCompra.FechaContable;
                    seSolicitudCompra.FechaCreacion = beSolicitudCompra.FechaCreacion;
                    seSolicitudCompra.FechaNecesita = beSolicitudCompra.FechaNecesita;
                    seSolicitudCompra.IdSucursal    = beSolicitudCompra.IdSucursal;
                    seSolicitudCompra.IdArea        = beSolicitudCompra.IdArea;
                    seSolicitudCompra.DocEntry      = beSolicitudCompra.CodSap;

                    seSolicitudCompra.Detalle = new List <SE.SolicitudCompraDetalle>();

                    foreach (var beDetalle in beSolicitudCompra.Detalle)
                    {
                        var seDetalle = new SE.SolicitudCompraDetalle();

                        seDetalle.NroLinea       = beDetalle.NroLinea;
                        seDetalle.Codigo         = beDetalle.Codigo;
                        seDetalle.Descripcion    = beDetalle.Descripcion;
                        seDetalle.Cantidad       = beDetalle.Cantidad;
                        seDetalle.CodAlmacen     = beDetalle.CodAlmacen;
                        seDetalle.CodProyecto    = beDetalle.CodProyecto;
                        seDetalle.CodCentroCosto = beDetalle.CodCentroCosto;
                        seDetalle.CodProveedor   = beDetalle.CodProveedor;

                        seSolicitudCompra.Detalle.Add(seDetalle);
                    }
                }

                return(seSolicitudCompra);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
        public bool Actualizar(BE.SolicitudCompra beSolicitudCompra)
        {
            try
            {
                string sp           = "SpTbSolicitudCompraActualizar";
                int    rowsAffected = 0;

                using (var cnn = new SqlConnection(Conexion.strCnxBD))
                {
                    cnn.Open();

                    var cmd = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add(new SqlParameter("@IDSOLICITUDCOMPRA", beSolicitudCompra.IdSolicitudCompra));
                    cmd.Parameters.Add(new SqlParameter("@IDEMPRESA", beSolicitudCompra.Empresa.Id));
                    cmd.Parameters.Add(new SqlParameter("@IDTIPODOCUMENTO", beSolicitudCompra.TipoDocumento.Id));
                    cmd.Parameters.Add(new SqlParameter("@SERIE", beSolicitudCompra.Serie));
                    cmd.Parameters.Add(new SqlParameter("@TIPO", beSolicitudCompra.Tipo));
                    cmd.Parameters.Add(new SqlParameter("@FECHACONTABLE", beSolicitudCompra.FechaContable));
                    cmd.Parameters.Add(new SqlParameter("@FECHANECESITA", beSolicitudCompra.FechaNecesita));
                    cmd.Parameters.Add(new SqlParameter("@COMENTARIO", beSolicitudCompra.Comentario));
                    cmd.Parameters.Add(new SqlParameter("@FECHACREACION", beSolicitudCompra.FechaCreacion));
                    cmd.Parameters.Add(new SqlParameter("@TOTAL", beSolicitudCompra.Total));
                    cmd.Parameters.Add(new SqlParameter("@USUARIO", beSolicitudCompra.Usuario));
                    cmd.Parameters.Add(new SqlParameter("@CODSAP", beSolicitudCompra.CodSap));

                    rowsAffected = cmd.ExecuteNonQuery();
                }

                return(rowsAffected > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #5
0
        public bool Insertar(ref BE.SolicitudCompra beSolicitudCompra)
        {
            SqlConnection  cnn = null;
            SqlTransaction tns = null;
            SqlCommand     cmd = null;

            try
            {
                int rowsAffected = 0;

                string spCab = "SpTbSolicitudCompraInsertar";
                string spDet = "SpTbSolicitudCompraDetalleInsertar";

                using (cnn = new SqlConnection(Conexion.strCnxBD))
                {
                    cnn.Open();
                    tns = cnn.BeginTransaction();

                    cmd             = new SqlCommand(spCab, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDSOLICITUDCOMPRA", beSolicitudCompra.IdSolicitudCompra));
                    cmd.Parameters["@IDSOLICITUDCOMPRA"].Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(new SqlParameter("@IDEMPRESA", beSolicitudCompra.Empresa.Id));
                    cmd.Parameters.Add(new SqlParameter("@IDTIPODOCUMENTO", beSolicitudCompra.TipoDocumento.Id));
                    cmd.Parameters.Add(new SqlParameter("@SERIE", beSolicitudCompra.Serie));
                    cmd.Parameters.Add(new SqlParameter("@TIPO", beSolicitudCompra.Tipo));
                    cmd.Parameters.Add(new SqlParameter("@FECHACONTABLE", beSolicitudCompra.FechaContable));
                    cmd.Parameters.Add(new SqlParameter("@FECHANECESITA", beSolicitudCompra.FechaNecesita));
                    cmd.Parameters.Add(new SqlParameter("@COMENTARIO", beSolicitudCompra.Comentario));
                    cmd.Parameters.Add(new SqlParameter("@FECHACREACION", beSolicitudCompra.FechaCreacion));
                    cmd.Parameters.Add(new SqlParameter("@TOTAL", beSolicitudCompra.Total));
                    cmd.Parameters.Add(new SqlParameter("@USUARIO", beSolicitudCompra.Usuario));
                    cmd.Parameters.Add(new SqlParameter("@CODSAP", beSolicitudCompra.CodSap));

                    rowsAffected += cmd.ExecuteNonQuery();

                    int idSolicitudCompra = int.Parse(cmd.Parameters["@IDSOLICITUDCOMPRA"].Value.ToString());
                    beSolicitudCompra.IdSolicitudCompra = idSolicitudCompra;

                    for (int i = 0; i < beSolicitudCompra.Detalle.Count; i++)
                    {
                        var beSolicitudCompraDetalle = beSolicitudCompra.Detalle[i];

                        cmd             = new SqlCommand(spDet, cnn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Transaction = tns;

                        cmd.Parameters.Add(new SqlParameter("@IDSOLICITUDCOMPRADETALLE", beSolicitudCompraDetalle.IdSolicitudCompraDetalle));
                        cmd.Parameters["@IDSOLICITUDCOMPRADETALLE"].Direction = ParameterDirection.Output;
                        cmd.Parameters.Add(new SqlParameter("@IDSOLICITUDCOMPRA", idSolicitudCompra));
                        cmd.Parameters.Add(new SqlParameter("@NROLINEA", beSolicitudCompraDetalle.NroLinea));
                        cmd.Parameters.Add(new SqlParameter("@CODIGO", beSolicitudCompraDetalle.Codigo));
                        cmd.Parameters.Add(new SqlParameter("@DESCRIPCION", beSolicitudCompraDetalle.Descripcion));
                        cmd.Parameters.Add(new SqlParameter("@CANTIDAD", beSolicitudCompraDetalle.Cantidad));
                        cmd.Parameters.Add(new SqlParameter("@CODALMACEN", beSolicitudCompraDetalle.CodAlmacen));
                        cmd.Parameters.Add(new SqlParameter("@CODCENTROCOSTO", beSolicitudCompraDetalle.CodCentroCosto));
                        cmd.Parameters.Add(new SqlParameter("@CODPROVEEDOR", beSolicitudCompraDetalle.CodProveedor));

                        rowsAffected += cmd.ExecuteNonQuery();

                        beSolicitudCompra.Detalle[i].IdSolicitudCompraDetalle = int.Parse(cmd.Parameters["@IDSOLICITUDCOMPRADETALLE"].Value.ToString());
                        beSolicitudCompra.Detalle[i].IdSolicitudCompra        = idSolicitudCompra;
                    }

                    if (tns != null)
                    {
                        tns.Commit();
                    }

                    cnn.Close();
                }

                return(rowsAffected > 0);
            }
            catch (Exception ex)
            {
                if (tns != null)
                {
                    tns.Rollback();
                }

                throw ex;
            }
        }