Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }