public List<T_C_DetalleOrdenDeTrabajo> SeleccionarDetallePorEstado()
        {
            try
            {
                List<T_C_DetalleOrdenDeTrabajo> detalles;
                using (Command = new System.Data.SqlClient.SqlCommand("T_C_DetalleOrdenDeTrabajoSelectAllById_OrdenTrabajo", Connection))
                {
                    Command.CommandType = System.Data.CommandType.StoredProcedure;
                    Connection.Open();
                    detalles = new List<T_C_DetalleOrdenDeTrabajo>();
                    SqlDataReader reader = Command.ExecuteReader();
                    while (reader.Read())
                    {
                        T_C_DetalleOrdenDeTrabajo detalleordentrabajo = new T_C_DetalleOrdenDeTrabajo();

                        detalleordentrabajo.Id_DetalleOrdendeTrabajo = Convert.ToInt32(reader.GetValue(reader.GetOrdinal("Id_DetalleOrdendeTrabajo")).ToString());
                        detalles.Add(detalleordentrabajo);

                        detalleordentrabajo.IdEquipo = reader.GetValue(reader.GetOrdinal("Id_Equipo")).ToString();
                        detalleordentrabajo.Id_DetalleOrdendeTrabajo = Convert.ToInt32(reader.GetValue(reader.GetOrdinal("Costo")).ToString());

                    }
                    return detalles;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
            finally
            {
                Connection.Close();
            }
        }
 public string AgregarDetalleOrdenDeTrabajo(T_C_DetalleOrdenDeTrabajo detalleordentrabajo, out int id)
 {
     try
     {
         Connection = new SqlConnection(ConnectionString);
         using (Command = new System.Data.SqlClient.SqlCommand("T_C_DetalleOrdenDeTrabajoInsert", Connection))
         {
             Command.CommandType = System.Data.CommandType.StoredProcedure;
             Command.Parameters.AddWithValue("@Id_OrdendeTrabajo", detalleordentrabajo.Id_OrdendeTrabajo);
             Command.Parameters.AddWithValue("@Costo", detalleordentrabajo.Costo);
             Command.Parameters.AddWithValue("@Porcentaje", 1);
             Command.Parameters.AddWithValue("@Descrippcion", " ");
             Command.Parameters.AddWithValue("@FechaRegistro", DateTime.Now);
             Command.Parameters.AddWithValue("@Cantidad", detalleordentrabajo.Cantidad);
             Command.Parameters.AddWithValue("@Id_Solicitud", 1);
             Command.Parameters.AddWithValue("@Id_Equipo", detalleordentrabajo.IdEquipo);
             Command.Parameters.AddWithValue("@FlagEquipo", detalleordentrabajo.Flag);
             Connection.Open();
             id = (Int32)Command.ExecuteScalar();
         }
         return "Detalle grabado satisfactoriamente.";
     }
     catch (Exception ex)
     {
         id = 0;
         return ex.Message;
     }
     finally
     {
         Connection.Close();
     }
 }
        public string AgregarDetalleOrdenTrabajo(T_C_DetalleOrdenDeTrabajo detalleordentrabajo, List<T_C_DetalleOrdenDeTrabajo> detalles)
        {
            try
            {
                if (detalleordentrabajo.Costo == 0)
                {
                    throw new Exception();
                }

                if (detalleordentrabajo.Cantidad > equipoAccess.SeleccionarEquipo(detalleordentrabajo.IdEquipo).Stock)
                {
                    return "La cantidad no debe ser mayor a stock.";
                }

                if (detalleordentrabajo.Cantidad <= 0)
                {
                    return "Ingresar una cantidad mayor a 0.";
                }
                else
                {
                    int id = 0;
                    detallerordentrabajoAccess.AgregarDetalleOrdenDeTrabajo(detalleordentrabajo,out id);

                    double CostoTotal = 0;

                    foreach (T_C_DetalleOrdenDeTrabajo detalle in detalles)
                    {
                        detalle.Id_OrdendeTrabajo = id;

                        if (detalle.Cantidad > equipoAccess.SeleccionarEquipo(detalle.IdEquipo).Stock)
                        {
                            return "La cantidad no debe ser mayor a stock.";
                        }

                        else
                        {
                            detalle.Costo = detalle.Cantidad * equipoAccess.SeleccionarEquipo(detalle.IdEquipo).Costo;
                            detallerordentrabajoAccess.AgregarDetalleOrdenDeTrabajo(detalle, out id);
                            CostoTotal = CostoTotal + detalle.Costo;
                        }
                    }

                    return detallerordentrabajoAccess.AgregarDetalleOrdenDeTrabajo(detalleordentrabajo, out id);
                }
            }
            catch
            {
                return "Error al ingresar datos.";
            }
        }
        private void btnRegistrar_Click(object sender, RoutedEventArgs e)
        {
            if (txtDescripcion.Text == "")
            {
                MessageBox.Show("Ingresar Descripcion");
            }
            else
            {
                T_C_DetalleOrdenDeTrabajo detalleorden = new T_C_DetalleOrdenDeTrabajo();
                detalleorden.Descrippcion = txtDescripcion.Text;

                MessageBox.Show(detalleordenLogic.AgregarDetalleOrdenTrabajo(detalleorden, detalle));
                txtDescripcion.Clear();
                gvDetalleConE.ItemsSource = detalleordenLogic.ListarDetalles();
            }
        }
示例#5
0
        private void btnAceptar_Click(object sender, RoutedEventArgs e)
        {
            if (gvEquipos.SelectedItem != null)
            {
                ObservableCollection<object> equipoTemps = gvEquipos.SelectedItems;
                List<T_C_Equipo> equipos = new List<T_C_Equipo>();

                foreach (object obj in equipoTemps)
                {
                    T_C_Equipo tmp = (T_C_Equipo)obj;
                    T_C_DetalleOrdenDeTrabajo detTemp = new T_C_DetalleOrdenDeTrabajo();
                    equipos.Add(tmp);
                    detTemp.IdEquipo = tmp.Id_Equipo;
                    detTemp.Cantidad = tmp.Cantidad;
                    detalles.Add(detTemp);
                    equipo = equipoLogic.SeleccionarEquipo(detTemp.IdEquipo);

                    if (detTemp.Cantidad <= 0)
                    {
                        MessageBox.Show("Ingresar una cantidad mayor a 0.");
                        gvEquipos.ItemsSource = equipoLogic.ListarActivos();
                    }
                    else
                    {

                        if (detTemp.Cantidad > equipo.Stock)
                        {
                            MessageBox.Show("La cantidad no debe ser mayor a stock.");
                            gvEquipos.ItemsSource = equipoLogic.ListarActivos();
                        }
                        else
                        {
                            Resultado(this, new DetalleOrdenTrabajoEventArgs(detalles));
                            this.Close();
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Seleccionar Equipos");
            }
        }