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(); } }
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"); } }