/// <summary>
        /// Método para guardar los valores del contexto
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    int tipoAlmacenID = Contexto.TipoAlmacenID;
                    var tipoAlmacenPL = new TipoAlmacenPL();
                    tipoAlmacenPL.Guardar(Contexto);
                    SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct);
                    if (tipoAlmacenID != 0)
                    {
                        confirmaSalir = false;
                        Close();
                    }
                    else
                    {
                        InicializaContexto();
                    }
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(this, Properties.Resources.TipoAlmacen_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(this, Properties.Resources.TipoAlmacen_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error);
                }
            }
        }
Example #2
0
        public void ObtenerTipoAlmacenPorId()
        {
            var             tipoAlmacenPL = new TipoAlmacenPL();
            TipoAlmacenInfo tipoAlmacen   = tipoAlmacenPL.ObtenerPorID(1);

            Assert.IsNotNull(tipoAlmacen);
            Assert.IsTrue(tipoAlmacen.Descripcion.Length > 0);
        }
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(txtTipoAlmacenID.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoAlmacenEdicion_MsgTipoAlmacenIDRequerida;
                    txtTipoAlmacenID.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || Contexto.Descripcion == string.Empty)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoAlmacenEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoAlmacenEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    tipoAlmacenId = Extensor.ValorEntero(txtTipoAlmacenID.Text);
                    string descripcion   = txtDescripcion.Text;

                    var             tipoAlmacenPL = new TipoAlmacenPL();
                    TipoAlmacenInfo tipoAlmacen   = tipoAlmacenPL.ObtenerPorDescripcion(descripcion);

                    if (tipoAlmacen != null && (tipoAlmacenId == 0 || tipoAlmacenId != tipoAlmacen.TipoAlmacenID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.TipoAlmacenEdicion_MsgDescripcionExistente, tipoAlmacen.TipoAlmacenID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
        /// <summary>
        /// Carga tipos de almacén
        /// </summary>
        private void CargaTiposAlmacen()
        {
            var tipoAlmacenPL = new TipoAlmacenPL();
            var tipoAlmacen   = new TipoAlmacenInfo
            {
                TipoAlmacenID = 0,
                Descripcion   = Properties.Resources.cbo_Seleccione,
            };
            IList <TipoAlmacenInfo> listaTipoAlmacen = tipoAlmacenPL.ObtenerTodos(EstatusEnum.Activo);

            listaTipoAlmacen.Insert(0, tipoAlmacen);
            cmbTipoAlmacen.ItemsSource  = listaTipoAlmacen;
            cmbTipoAlmacen.SelectedItem = tipoAlmacen;
        }
        /// <summary>
        /// Cargar los datos del folio para la cancelacion
        /// </summary>
        private void CargarDatosCancelacion()
        {
            try
            {
                var organizacionPL = new OrganizacionPL();
                var tipoAlmacenPL  = new TipoAlmacenPL();
                var productoPL     = new ProductoPL();


                Contexto.OrganizacionOrigen  = organizacionPL.ObtenerPorID(Contexto.AlmacenOrigen.Organizacion.OrganizacionID);
                Contexto.OrganizacionDestino =
                    organizacionPL.ObtenerPorID(Contexto.AlmacenDestino.Organizacion.OrganizacionID);
                Contexto.TipoAlmacenOrigen  = tipoAlmacenPL.ObtenerPorID(Contexto.AlmacenOrigen.TipoAlmacen.TipoAlmacenID);
                Contexto.TipoAlmacenDestino = tipoAlmacenPL.ObtenerPorID(Contexto.AlmacenDestino.TipoAlmacen.TipoAlmacenID);
                Contexto.ProductoOrigen     = productoPL.ObtenerPorID(Contexto.ProductoOrigen);
                Contexto.ProductoDestino    = Contexto.ProductoOrigen;

                if (tiposAlmacenMedicamentos.Contains(Contexto.TipoAlmacenOrigen.TipoAlmacenID))
                {
                    var almacenInventarioPL = new AlmacenInventarioPL();
                    List <AlmacenInventarioInfo> inventarios =
                        almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenOrigen);

                    Contexto.AlmacenInventarioOrigen =
                        inventarios.FirstOrDefault(
                            inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId);
                }

                stpControles.IsEnabled     = false;
                btnGuardar.IsEnabled       = false;
                btnCancelarFolio.IsEnabled = true;
                MostrarControlesCantidades();
                if (stpControlesMEDOrigen.IsVisible)
                {
                    var almacenInventarioPL = new AlmacenInventarioPL();
                    List <AlmacenInventarioInfo> inventariosDestino =
                        almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenDestino);

                    Contexto.AlmacenInventarioDestino =
                        inventariosDestino.FirstOrDefault(
                            inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId);
                    if (Contexto.AlmacenInventarioDestino != null)
                    {
                        if (Contexto.CantidadTraspasarDestino > Contexto.AlmacenInventarioDestino.Cantidad)
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.TraspasoMPPAMED_CancelacionSinInventario, MessageBoxButton.OK,
                                              MessageImage.Warning);
                            btnCancelarFolio.IsEnabled = false;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.TraspasoMPPAMED_ErrorCargarDatosCancelacion, MessageBoxButton.OK,
                                  MessageImage.Error);
            }
        }