/// <summary> /// Guarda el segundo pesaje /// </summary> /// <param name="pesajeMateriaPrimaInfo"></param> /// <param name="pesoNeto"></param> /// <param name="pedidoInfo"></param> /// <returns></returns> public void GuardarSegundoPesaje(PesajeMateriaPrimaInfo pesajeMateriaPrimaInfo, decimal pesoNeto, PedidoInfo pedidoInfo) { try { using (var transaction = new TransactionScope()) { var pesajeMateriaPrimaBl = new PesajeMateriaPrimaBL(); var pedidoBl = new PedidosBL(); //Se actualiza el registro, no se inserta var pesoBruto = pesajeMateriaPrimaInfo.PesoBruto; var usuario = pesajeMateriaPrimaInfo.UsuarioModificacionID; pesajeMateriaPrimaInfo = pesajeMateriaPrimaBl.ObtenerPorId(pesajeMateriaPrimaInfo); pesajeMateriaPrimaInfo.PesoBruto = pesoBruto; pesajeMateriaPrimaInfo.UsuarioModificacionID = usuario; pesajeMateriaPrimaInfo.EstatusID = Estatus.PedidoPendiente.GetHashCode(); pesajeMateriaPrimaBl.ActualizarPesajePorId(pesajeMateriaPrimaInfo); //Actualizar programacion materia prima var programacionMateriaPrimaBl = new ProgramacionMateriaPrimaBL(); var programacionMateriaPrimaInfo = new ProgramacionMateriaPrimaInfo() { ProgramacionMateriaPrimaId = pesajeMateriaPrimaInfo.ProgramacionMateriaPrimaID, CantidadEntregada = pesoNeto, UsuarioModificacion = new UsuarioInfo(){UsuarioID = pesajeMateriaPrimaInfo.UsuarioModificacionID} }; programacionMateriaPrimaBl.ActualizarCantidadEntregada(programacionMateriaPrimaInfo); //Actualizar estatus del folio pedidoInfo.EstatusPedido.EstatusId = Estatus.PedidoParcial.GetHashCode(); if (pedidoInfo.UsuarioModificacion == null) { pedidoInfo.UsuarioModificacion = new UsuarioInfo(); } pedidoInfo.UsuarioModificacion.UsuarioModificacionID = pesajeMateriaPrimaInfo.UsuarioModificacionID; pedidoBl.ActualizarEstatusPedido(pedidoInfo); transaction.Complete(); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Guarda un nuevo pesaje de materia prima /// </summary> /// <param name="pesajeMateriaPrima"></param> /// <param name="programacionMateriaPrima"></param> /// <param name="pedido"></param> internal void GuardarAbastoDeMateriaPrima(PesajeMateriaPrimaInfo pesajeMateriaPrima, ProgramacionMateriaPrimaInfo programacionMateriaPrima, int pedido) { try { Logger.Info(); using (var pesajeMateriaPrimaBl = new PesajeMateriaPrimaBL()) { var programacionMateriaPrimaBl = new ProgramacionMateriaPrimaBL(); var pedidoBl = new PedidosBL(); using (var transaction = new TransactionScope()) { pesajeMateriaPrimaBl.Crear(pesajeMateriaPrima); programacionMateriaPrimaBl.ActualizarCantidadEntregada(programacionMateriaPrima); programacionMateriaPrimaBl.ActualizarJustificacion(programacionMateriaPrima); pedidoBl.ActualizarEstatusPedido(new PedidoInfo { PedidoID = pedido, EstatusPedido = new EstatusInfo { EstatusId = (int)Estatus.PedidoParcial }, UsuarioModificacion = new UsuarioInfo { UsuarioModificacionID = pesajeMateriaPrima.UsuarioModificacionID } }); transaction.Complete(); } } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }