/// <summary>
        /// Asigna la programacion realizada a la lista de programacion que tiene el detalle del pedido
        /// </summary>
        private bool AsignarProgramacion()
        {
            bool resultado = true;

            try
            {
                if (!skAyudaLote.Clave.Equals(string.Empty) && !txtCantidadProgramada.Text.Equals(string.Empty))
                {
                    if (Programacion != null)
                    { // Modificamos la programacion que se edita.
                        var cantidad = decimal.Parse(txtCantidadProgramada.Value.ToString());
                        var loteId   = Programacion.InventarioLoteOrigen.AlmacenInventarioLoteId;
                        Programacion.UsuarioModificacion = new UsuarioInfo {
                            UsuarioID = int.Parse(Application.Current.Properties["UsuarioID"].ToString())
                        };

                        if (cantidad != Programacion.CantidadProgramada)
                        {
                            Programacion.CantidadProgramada = decimal.Parse(txtCantidadProgramada.Value.ToString());
                        }

                        if (loteId != almacenInventarioLote.AlmacenInventarioLoteId)
                        {
                            Programacion.InventarioLoteOrigen = almacenInventarioLote;
                        }
                    }
                    else
                    {
                        // Agregamos una nueva programacion
                        Programacion         = new ProgramacionMateriaPrimaInfo();
                        Programacion.Almacen = pedido.Almacen;
                        Programacion.InventarioLoteOrigen = almacenInventarioLote;
                        Programacion.PedidoDetalleId      = detallePedido.PedidoDetalleId;
                        Programacion.Organizacion         = new OrganizacionInfo {
                            OrganizacionID = int.Parse(Application.Current.Properties["OrganizacionID"].ToString())
                        };
                        Programacion.CantidadProgramada = decimal.Parse(txtCantidadProgramada.Value.ToString());
                        Programacion.UsuarioCreacion    = new UsuarioInfo {
                            UsuarioID = int.Parse(Application.Current.Properties["UsuarioID"].ToString())
                        };

                        if (detallePedido.ProgramacionMateriaPrima == null)
                        {
                            detallePedido.ProgramacionMateriaPrima = new List <ProgramacionMateriaPrimaInfo>();
                        }

                        detallePedido.ProgramacionMateriaPrima.Add(Programacion);
                    }
                }
            }
            catch (ExcepcionDesconocida ex)
            {
                resultado = false;
                Logger.Error(ex);
            }

            return(resultado);
        }
示例#2
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);
            }
        }
 internal bool Cancelar(ProgramacionMateriaPrimaInfo programacion)
 {
     try
     {
         Logger.Info();
         var programacionMateriaPrimaDal = new ProgramacionMateriaPrimaDAL();
         programacionMateriaPrimaDal.Cancelar(programacion);
         return(true);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene una programacion de materia prima por Clave y Ticket
 /// </summary>
 /// <param name="programacionMateriaPrimaId"></param>
 /// <param name="ticket"></param>
 /// <returns></returns>
 internal ProgramacionMateriaPrimaInfo ObtenerPorProgramacionMateriaPrimaTicket(int programacionMateriaPrimaId, int ticket)
 {
     try
     {
         Logger.Info();
         var programacionMateriaPrimaDal           = new ProgramacionMateriaPrimaDAL();
         ProgramacionMateriaPrimaInfo programacion =
             programacionMateriaPrimaDal.ObtenerPorProgramacionMateriaPrimaTicket(programacionMateriaPrimaId,
                                                                                  ticket);
         return(programacion);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Metodo que actualiza la cantidad entregada
 /// </summary>
 /// <param name="programacionMateriaPrimaInfo"></param>
 internal void ActualizarCantidadEntregada(ProgramacionMateriaPrimaInfo programacionMateriaPrimaInfo)
 {
     try
     {
         Logger.Info();
         var programacionMateriaPrimaDal = new ProgramacionMateriaPrimaDAL();
         programacionMateriaPrimaDal.ActualizarCantidadEntregada(programacionMateriaPrimaInfo);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        internal static Dictionary <string, object> ObtenerPorCancelar(ProgramacionMateriaPrimaInfo programacion)
        {
            Dictionary <string, object> parametros;

            try
            {
                Logger.Info();
                parametros = new Dictionary <string, object>
                {
                    { "@ProgramacionMateriaPrimaID", programacion.ProgramacionMateriaPrimaId },
                    { "@UsuarioID", programacion.UsuarioModificacion.UsuarioID },
                };
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(parametros);
        }
 public void GuardarProgramacionMateria(ProgramacionMateriaPrimaInfo programacionMateriaPrimaInfo, int autorizacionMateriaPrimaID)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxDiferenciasDeInventarioDAL.ObtenerParametrosGuardarProgramacionMateria(programacionMateriaPrimaInfo, autorizacionMateriaPrimaID);
         Create("AutorizacionMateriaPrima_RegistroProgramacionMateriaPrima", parameters);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#8
0
 public static Dictionary <string, object> ObtenerParametrosGuardarProgramacionMateria(ProgramacionMateriaPrimaInfo programacionMateriaPrimaInfo, int autorizacionMateriaPrimaID)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@PedidoDetalleID", programacionMateriaPrimaInfo.PedidoDetalleId },
             { "@OrganizacionID", programacionMateriaPrimaInfo.Organizacion.OrganizacionID },
             { "@AlmacenID", programacionMateriaPrimaInfo.Almacen.AlmacenID },
             { "@AlmacenInventarioLoteID", programacionMateriaPrimaInfo.InventarioLoteOrigen.AlmacenInventarioLoteId },
             { "@CantidadProgramada", programacionMateriaPrimaInfo.CantidadProgramada },
             { "@UsuarioCreacionID", programacionMateriaPrimaInfo.UsuarioCreacion.UsuarioID },
             { "@Observaciones", programacionMateriaPrimaInfo.Observaciones },
             { "@AutorizacionMateriaPrimaID", autorizacionMateriaPrimaID }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="autorizacionMateriaPrimaInfo"></param>
 /// <param name="programacionMateriaPrimaInfo"></param>
 public void GuardarAutorizacionMateriaPrimaProgramacion(AutorizacionMateriaPrimaInfo autorizacionMateriaPrimaInfo, ProgramacionMateriaPrimaInfo programacionMateriaPrimaInfo)
 {
     try
     {
         Logger.Info();
         var almacenInventarioLoteBl = new AlmacenInventarioLoteBL();
         almacenInventarioLoteBl.GuardarAutorizacionMateriaPrimaProgramacion(autorizacionMateriaPrimaInfo, programacionMateriaPrimaInfo);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#10
0
        public static void CrearPesajeMateriaPrima(PesajeMateriaPrimaInfo pesajeMateriaPrima, ProgramacionMateriaPrimaInfo programacionMateriaPrima, int pedido)
        {
            try
            {
                var seguridad  = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                var usuarioId  = 0;
                var pedidoInfo = new PedidoInfo();

                if (seguridad != null)
                {
                    usuarioId  = seguridad.Usuario.UsuarioID;
                    pedidoInfo = new PedidoInfo
                    {
                        FolioPedido  = pedido,
                        Organizacion = seguridad.Usuario.Organizacion
                    };
                }

                var abastoMateriaPrimaPl = new AbastoMateriaPrimaPL();
                var pedidoPL             = new PedidosPL();

                pedidoInfo = pedidoPL.ObtenerPedidoPorFolio(pedidoInfo);
                if (pedidoInfo != null)
                {
                    pedido = pedidoInfo.PedidoID;
                }

                var proveedorChoferPl = new ProveedorChoferPL();

                if (pesajeMateriaPrima.ProveedorChofer.Proveedor.ProveedorID > 0 &&
                    pesajeMateriaPrima.ProveedorChofer.Chofer.ChoferID > 0)
                {
                    pesajeMateriaPrima.ProveedorChofer = proveedorChoferPl.ObtenerProveedorChoferPorProveedorIdChoferId(
                        pesajeMateriaPrima.ProveedorChofer.Proveedor.ProveedorID,
                        pesajeMateriaPrima.ProveedorChofer.Chofer.ChoferID);
                    pesajeMateriaPrima.ProveedorChoferID = pesajeMateriaPrima.ProveedorChofer.ProveedorChoferID;
                }
                else
                {
                    pesajeMateriaPrima.ProveedorChoferID = 0;
                }
                pesajeMateriaPrima.UsuarioModificacionID = usuarioId;
                pesajeMateriaPrima.UsuarioCreacionID     = usuarioId;
                pesajeMateriaPrima.UsuarioIDSurtido      = usuarioId;
                pesajeMateriaPrima.UsuarioIDRecibe       = usuarioId;

                pesajeMateriaPrima.EstatusID    = Estatus.PedidoParcial.GetHashCode();
                pesajeMateriaPrima.TipoPesajeID = TipoPesajeEnum.Tolva.GetHashCode();
                pesajeMateriaPrima.Activo       = true;
                pesajeMateriaPrima.FechaSurtido = DateTime.Today;
                pesajeMateriaPrima.FechaRecibe  = DateTime.Today;

                programacionMateriaPrima.UsuarioModificacion = new UsuarioInfo {
                    UsuarioID = usuarioId
                };



                abastoMateriaPrimaPl.GuardarAbastoDeMateriaPrima(pesajeMateriaPrima, programacionMateriaPrima, pedido);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
示例#11
0
        public static void ActualizarPesajeMateriaPrimaTicket(PesajeMateriaPrimaInfo pesajeMateriaPrima, ProgramacionMateriaPrimaInfo programacionMateriaPrima, int pedido)
        {
            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                var usuarioId = 0;

                if (seguridad != null)
                {
                    usuarioId = seguridad.Usuario.UsuarioID;
                }

                var abastoMateriaPrimaPl = new AbastoMateriaPrimaPL();
                var proveedorChoferPl    = new ProveedorChoferPL();

                if (pesajeMateriaPrima.ProveedorChofer.Proveedor.ProveedorID > 0 &&
                    pesajeMateriaPrima.ProveedorChofer.Chofer.ChoferID > 0)
                {
                    pesajeMateriaPrima.ProveedorChofer = proveedorChoferPl.ObtenerProveedorChoferPorProveedorIdChoferId(
                        pesajeMateriaPrima.ProveedorChofer.Proveedor.ProveedorID,
                        pesajeMateriaPrima.ProveedorChofer.Chofer.ChoferID);
                }
                pesajeMateriaPrima.UsuarioModificacionID     = usuarioId;
                pesajeMateriaPrima.UsuarioCreacionID         = usuarioId;
                programacionMateriaPrima.UsuarioModificacion = new UsuarioInfo {
                    UsuarioID = usuarioId
                };

                abastoMateriaPrimaPl.ActualizarAbastoDeMateriaPrima(pesajeMateriaPrima, programacionMateriaPrima);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
示例#12
0
        /// <summary>
        /// Actualiza el pesaje de materia prima
        /// </summary>
        /// <param name="pesajeMateriaPrima"></param>
        /// <param name="programacionMateriaPrima"></param>
        internal void ActualizarAbastoDeMateriaPrima(PesajeMateriaPrimaInfo pesajeMateriaPrima, ProgramacionMateriaPrimaInfo programacionMateriaPrima)
        {
            try
            {
                Logger.Info();
                var pesajeMateriaPrimaBl       = new PesajeMateriaPrimaBL();
                var programacionMateriaPrimaBl = new ProgramacionMateriaPrimaBL();

                using (var transaction = new TransactionScope())
                {
                    pesajeMateriaPrima.Activo = true;
                    var pesaje = pesajeMateriaPrimaBl.ObtenerPorId(pesajeMateriaPrima);
                    pesaje.UsuarioModificacionID = pesajeMateriaPrima.UsuarioModificacionID;
                    pesaje.Piezas += pesajeMateriaPrima.Piezas;

                    pesajeMateriaPrimaBl.ActualizarPesajePorId(pesaje);

                    programacionMateriaPrimaBl.ActualizarJustificacion(programacionMateriaPrima);

                    transaction.Complete();
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
示例#13
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);
            }
        }
示例#14
0
 /// <summary>
 /// Actualiza el pesaje de materia prima
 /// </summary>
 /// <param name="pesajeMateriaPrima"></param>
 /// <param name="programacionMateriaPrima"></param>
 public void ActualizarAbastoDeMateriaPrima(PesajeMateriaPrimaInfo pesajeMateriaPrima, ProgramacionMateriaPrimaInfo programacionMateriaPrima)
 {
     try
     {
         Logger.Info();
         var abastoMateriaPrima = new AbastoMateriaPrimaBL();
         abastoMateriaPrima.ActualizarAbastoDeMateriaPrima(pesajeMateriaPrima, programacionMateriaPrima);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 internal int GuardarAutorizacionMateriaPrimaProgramacion(AutorizacionMateriaPrimaInfo autorizacionMateriaPrimaInfo, ProgramacionMateriaPrimaInfo programacionMateriaPrimaInfo)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxDiferenciasDeInventarioDAL.ObtenerParametrosAutorizacionMateriaPrima(autorizacionMateriaPrimaInfo);
         var ds     = Retrieve("AutorizacionMateriaPrima_Registro", parameters);
         int result = 0;
         if (ValidateDataSet(ds))
         {
             result = MapAlmacenInventarioDAL.ObtenerAutorizacionMateriaPrimaID(ds);
         }
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }