Exemple #1
0
 /// <summary>
 /// Obtiene una premezcla por producto y organizacion id
 /// </summary>
 /// <param name="premezclaInfo"></param>
 /// <returns></returns>
 internal PremezclaInfo ObtenerPorProductoIdOrganizacionId(PremezclaInfo premezclaInfo)
 {
     try
     {
         var productoBl         = new ProductoBL();
         var premezclaDal       = new PremezclaDAL();
         var premezclaDetalleBl = new PremezclaDetalleBL();
         premezclaInfo = premezclaDal.ObtenerPorProductoIdOrganizacionId(premezclaInfo);
         //Obtener detalle de premezcla
         if (premezclaInfo != null)
         {
             premezclaInfo.ListaPremezclaDetalleInfos =
                 premezclaDetalleBl.ObtenerPremezclaDetallePorPremezclaId(premezclaInfo);
             if (premezclaInfo.ListaPremezclaDetalleInfos != null)
             {
                 foreach (var premezclaInfoP in premezclaInfo.ListaPremezclaDetalleInfos)
                 {
                     premezclaInfo.Producto.Activo = EstatusEnum.Activo;
                     premezclaInfoP.Producto       = productoBl.ObtenerPorID(premezclaInfoP.Producto);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
     return(premezclaInfo);
 }
Exemple #2
0
 private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
 {
     if (dgSolicitudProducto.SelectedIndex > 0)
     {
         if (listaSolicitud[dgSolicitudProducto.SelectedIndex].Fecha > DateTime.Now)
         {
             foreach (var premezclaInfo in listaPremezcla)
             {
                 PremezclaInfo info = premezclaInfo;
                 var           solicitudPremezcla =
                     listaSolicitud[dgSolicitudProducto.SelectedIndex].ListaSolicitudPremezcla.FirstOrDefault(
                         registro => registro.Premezcla.PremezclaId == info.PremezclaId);
                 if (solicitudPremezcla != null)
                 {
                     premezclaInfo.Cantidad = solicitudPremezcla.CantidadSolicitada;
                 }
             }
             dgPremezclas.ItemsSource     = new List <PremezclaInfo>();
             dgPremezclas.ItemsSource     = listaPremezcla;
             dtpFechaLlegada.SelectedDate = listaSolicitud[dgSolicitudProducto.SelectedIndex].Fecha;
             renglonModificar             = dgSolicitudProducto.SelectedIndex;
             btnAgregar.Content           = Properties.Resources.SolicitudPremezclas_btnActualizar;
         }
     }
 }
 /// <summary>
 /// Crea premezcla detalle a partir de una lista
 /// </summary>
 /// <param name="listaPremezclaDetalle"></param>
 /// <param name="premezclaInfo"></param>
 /// <returns></returns>
 internal int Crear(List <PremezclaDetalleInfo> listaPremezclaDetalle, PremezclaInfo premezclaInfo)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxPremezclaDetalleDAL.ObtenerParametrosCrearPremezclaDetalle(listaPremezclaDetalle, premezclaInfo);
         int result = Create("PremezclaDetalle_Crear", parameters);
         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);
     }
 }
Exemple #4
0
 /// <summary>
 /// Obtiene una premezcla por productoid y organizacionid
 /// </summary>
 /// <returns></returns>
 public PremezclaInfo ObtenerPorProductoIdOrganizacionId(PremezclaInfo premezclaInfo)
 {
     try
     {
         var premezclaBl = new PremezclaBL();
         return(premezclaBl.ObtenerPorProductoIdOrganizacionId(premezclaInfo));
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
     return(null);
 }
Exemple #5
0
 public void Guardar(PremezclaInfo premezclaInfo, List <PremezclaDetalleInfo> listaPremezclaDetalle, List <PremezclaDetalleInfo> listaPremezclaEliminados, int usuario)
 {
     try
     {
         Logger.Info();
         var configuracionPremezclasBl = new ConfiguracionPremezclasBL();
         configuracionPremezclasBl.Guardar(premezclaInfo, listaPremezclaDetalle, listaPremezclaEliminados, usuario);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene un listado de premezcla detalle por premezclaid
 /// </summary>
 /// <param name="premezclaInfo"></param>
 /// <returns></returns>
 internal List <PremezclaDetalleInfo> ObtenerPremezclaDetallePorPremezclaId(PremezclaInfo premezclaInfo)
 {
     try
     {
         Logger.Info();
         var premezclaDetalleDal            = new PremezclaDetalleDAL();
         List <PremezclaDetalleInfo> result = premezclaDetalleDal.ObtenerPremezclaDetallePorPremezclaId(premezclaInfo);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Metodo que guarda premezclas detalle
 /// </summary>
 /// <returns></returns>
 internal int Crear(List <PremezclaDetalleInfo> listaPremezclaDetalle, PremezclaInfo premezclaInfo)
 {
     try
     {
         Logger.Info();
         var premezclaDetalleDal = new PremezclaDetalleDAL();
         int result = premezclaDetalleDal.Crear(listaPremezclaDetalle, premezclaInfo);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene premezcla detalle
 /// </summary>
 /// <returns></returns>
 internal List <PremezclaDetalleInfo> ObtenerPremezclaDetallePorPremezclaId(PremezclaInfo premezclaInfo)
 {
     try
     {
         List <PremezclaDetalleInfo> result = null;
         try
         {
             Logger.Info();
             Dictionary <string, object> parametros =
                 AuxPremezclaDetalleDAL.ObtenerPremezclaDetallePorPremezclaId(premezclaInfo);
             DataSet ds = Retrieve("PremezclaDetalle_ObtenerPorPremezclaID", parametros);
             if (ValidateDataSet(ds))
             {
                 result = MapPremezclaDetalleDAL.ObtenerPremezclaDetallePorPremezclaId(ds);
             }
         }
         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);
         }
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
     return(null);
 }
Exemple #9
0
 /// <summary>
 /// Obtiene parametros para crear una premezcla
 /// </summary>
 /// <param name="premezclaInfo"></param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosCrearPremezcla(PremezclaInfo premezclaInfo)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@OrganizacionID", premezclaInfo.Organizacion.OrganizacionID },
             { "@Descripcion", premezclaInfo.Descripcion },
             { "@ProductoID", premezclaInfo.Producto.ProductoId },
             { "@Activo", premezclaInfo.Activo.GetHashCode() },
             { "@UsuarioCreacionID", premezclaInfo.UsuarioCreacion.UsuarioCreacionID }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
     return(null);
 }
Exemple #10
0
 /// <summary>
 /// Obtiene la lista de premezclas por organizacion
 /// </summary>
 /// <param name="premezclaInfo"></param>
 /// <returns></returns>
 internal PremezclaInfo ObtenerPorProductoIdOrganizacionId(PremezclaInfo premezclaInfo)
 {
     try
     {
         PremezclaInfo result = null;
         try
         {
             Logger.Info();
             Dictionary <string, object> parametros =
                 AuxPremezclaDAL.ObtenerParametrosObtenerPorProductoIdPorOrganizacionId(premezclaInfo);
             DataSet ds = Retrieve("Premezcla_ObtenerPorProductoIDOrganizacionID", parametros);
             if (ValidateDataSet(ds))
             {
                 result = MapPremezclaDAL.ObtenerPorProductoIdOrganizacionId(ds);
             }
         }
         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);
         }
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
     return(null);
 }
 /// <summary>
 /// Obtiene los datos de la premezcla y determina si esta configurada o no
 /// </summary>
 /// <param name="clave"></param>
 private void ObtenerDatosPremezcla(string clave)
 {
     try
     {
         if (skAyudaOrganizacion.Clave != string.Empty && skAyudaOrganizacion.Descripcion != string.Empty)
         {
             var premezclaPl   = new PremezclaPL();
             var premezclaInfo = new PremezclaInfo()
             {
                 Organizacion =
                     new OrganizacionInfo()
                 {
                     OrganizacionID = Convert.ToInt32(skAyudaOrganizacion.Clave)
                 },
                 Producto = new ProductoInfo()
                 {
                     ProductoId = Convert.ToInt32(skAyudaPremezcla.Clave)
                 },
                 Activo = EstatusEnum.Activo
             };
             premezclaInfo = premezclaPl.ObtenerPorProductoIdOrganizacionId(premezclaInfo);
             if (premezclaInfo != null)
             {
                 //Llenar grid premezcla
                 listaPremezclaDetalle.Clear();
                 listaPremezclasEliminadas.Clear();
                 listaPremezclaDetalle.AddRange(premezclaInfo.ListaPremezclaDetalleInfos);
                 GridPremezclaDetalle.ItemsSource = null;
                 GridPremezclaDetalle.ItemsSource = premezclaInfo.ListaPremezclaDetalleInfos;
                 skAyudaOrganizacion.IsEnabled    = false;
                 skAyudaPremezcla.IsEnabled       = false;
                 skAyudaProducto.AsignarFoco();
             }
             else
             {
                 //Enviar mensaje
                 if (SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                       Properties.Resources.ConfiguracionDePremezclas_MensajePremezclaSinConfiguracion,
                                       MessageBoxButton.YesNo, MessageImage.Warning) == MessageBoxResult.Yes)
                 {
                     listaPremezclaDetalle.Clear();
                     listaPremezclasEliminadas.Clear();
                     GridPremezclaDetalle.ItemsSource = null;
                     GridPremezclaDetalle.ItemsSource = listaPremezclaDetalle;
                     skAyudaProducto.LimpiarCampos();
                     skAyudaProducto.AsignarFoco();
                     nuevaPremezcla = true;
                 }
                 else
                 {
                     listaPremezclaDetalle.Clear();
                     listaPremezclasEliminadas.Clear();
                     GridPremezclaDetalle.ItemsSource = null;
                     GridPremezclaDetalle.ItemsSource = listaPremezclaDetalle;
                     skAyudaPremezcla.LimpiarCampos();
                     skAyudaPremezcla.AsignarFoco();
                 }
             }
         }
         else
         {
             //Enviar mensaje
             SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                               Properties.Resources.ConfiguracionPremezclaAgregarProducto_MensajeOrganizacion, MessageBoxButton.OK,
                               MessageImage.Warning);
             skAyudaPremezcla.LimpiarCampos();
             skAyudaOrganizacion.AsignarFoco();
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                           Properties.Resources.ConfiguracionPremezcla_MensajeErrorObtenerDatosPremezcla, MessageBoxButton.OK,
                           MessageImage.Error);
     }
 }
 /// <summary>
 /// Guarda los productos seleccionados o modificados
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnGuardar_OnClick(object sender, RoutedEventArgs e)
 {
     try
     {
         var resultadoValidacion = ValidarGuardar();
         if (resultadoValidacion.Resultado)
         {
             var configuracionPremezclasPl = new ConfiguracionPremezclasPL();
             var premezclaPl   = new PremezclaPL();
             var premezclaInfo = new PremezclaInfo()
             {
                 Organizacion =
                     new OrganizacionInfo()
                 {
                     OrganizacionID = Convert.ToInt32(skAyudaOrganizacion.Clave)
                 },
                 Producto = new ProductoInfo()
                 {
                     ProductoId = Convert.ToInt32(skAyudaPremezcla.Clave)
                 },
                 Activo = EstatusEnum.Activo
             };
             premezclaInfo = premezclaPl.ObtenerPorProductoIdOrganizacionId(premezclaInfo);
             if (premezclaInfo == null)
             {
                 premezclaInfo = new PremezclaInfo()
                 {
                     Organizacion =
                         new OrganizacionInfo()
                     {
                         OrganizacionID = Convert.ToInt32(skAyudaOrganizacion.Clave)
                     },
                     Descripcion = skAyudaPremezcla.Descripcion,
                     Producto    =
                         new ProductoInfo()
                     {
                         ProductoId  = Convert.ToInt32(skAyudaPremezcla.Clave),
                         Descripcion = skAyudaProducto.Info.Descripcion
                     },
                     Activo          = EstatusEnum.Activo,
                     UsuarioCreacion = new UsuarioInfo()
                     {
                         UsuarioCreacionID = usuario
                     }
                 };
             }
             else
             {
                 premezclaInfo.Guardado        = true;
                 premezclaInfo.UsuarioCreacion = new UsuarioInfo()
                 {
                     UsuarioCreacionID = usuario
                 };
                 premezclaInfo.UsuarioModificacion = new UsuarioInfo()
                 {
                     UsuarioModificacionID = usuario
                 };
             }
             configuracionPremezclasPl.Guardar(premezclaInfo, listaPremezclaDetalle, listaPremezclasEliminadas, usuario);
             SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                               Properties.Resources.CrearContrato_DatosGuardadosExito,
                               MessageBoxButton.OK, MessageImage.Correct);
             LimpiaProductos();
             LimpiarControles();
             skAyudaOrganizacion.AsignarFoco();
         }
         else
         {
             var mensaje = "";
             mensaje = string.IsNullOrEmpty(resultadoValidacion.Mensaje)
                 ? Properties.Resources.CrearContrato_MensajeValidacionDatosEnBlanco
                 : resultadoValidacion.Mensaje;
             SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                               mensaje, MessageBoxButton.OK, MessageImage.Stop);
         }
     }
     catch (Exception exg)
     {
         Logger.Error(exg);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                           Properties.Resources.ConfiguracionPremezcla_MensajeErrorGuardar, MessageBoxButton.OK,
                           MessageImage.Error);
     }
 }
Exemple #13
0
 /// <summary>
 /// Obtiene parametros para obtener el detalle de
 /// </summary>
 /// <param name="premezclaInfo"></param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerPremezclaDetallePorPremezclaId(PremezclaInfo premezclaInfo)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@PremezclaID", premezclaInfo.PremezclaId },
             { "@Activo", premezclaInfo.Activo.GetHashCode() }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
     return(null);
 }
Exemple #14
0
 /// <summary>
 /// Metodo que obtiene parametros para crear contrato detalle
 /// </summary>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosCrearPremezclaDetalle(List <PremezclaDetalleInfo> listaPremezclaDetalle, PremezclaInfo premezclaInfo)
 {
     try
     {
         Logger.Info();
         var xml =
             new XElement("ROOT",
                          from detalle in listaPremezclaDetalle
                          select new XElement("XmlPremezclaDetalle",
                                              new XElement("PremezclaID", premezclaInfo.PremezclaId),
                                              new XElement("ProductoID", detalle.Producto.ProductoId),
                                              new XElement("Porcentaje", detalle.Porcentaje),
                                              new XElement("Activo", (int)EstatusEnum.Activo),
                                              new XElement("UsuarioCreacionID", premezclaInfo.UsuarioCreacion.UsuarioCreacionID)
                                              ));
         var parametros = new Dictionary <string, object>
         {
             { "@XmlPremezclaDetalle", xml.ToString() }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        /// <summary>
        /// Hace el guardado de la premezcla
        /// </summary>
        internal void Guardar(PremezclaInfo premezclaInfo, List <PremezclaDetalleInfo> listaPremezclaDetalle, List <PremezclaDetalleInfo> listaPremezclaEliminados, int usuario)
        {
            try
            {
                var premezclaBl                = new PremezclaBL();
                var premezclaDetalleBl         = new PremezclaDetalleBL();
                var listaPremezclasModificados = new List <PremezclaDetalleInfo>();
                var listaPremezclasAgregadas   = new List <PremezclaDetalleInfo>();
                using (var transaction = new TransactionScope())
                {
                    //Si no esta guardado se crea
                    int premezclaId;
                    if (!premezclaInfo.Guardado)
                    {
                        premezclaId = premezclaBl.Crear(premezclaInfo);
                    }
                    else
                    {
                        premezclaId = premezclaInfo.PremezclaId;
                    }

                    premezclaInfo.PremezclaId = premezclaId;

                    //Guardar detalles y actualizar modificados
                    listaPremezclasModificados.AddRange(listaPremezclaDetalle.Where(detalleInfo => detalleInfo.Guardado));
                    listaPremezclasAgregadas.AddRange(listaPremezclaDetalle.Where(detalleInfo => !detalleInfo.Guardado));

                    if (listaPremezclasAgregadas.Count > 0)
                    {
                        premezclaDetalleBl.Crear(listaPremezclasAgregadas, premezclaInfo);
                    }

                    if (listaPremezclasModificados.Count > 0)
                    {
                        foreach (var listaPremezclasModificadoP in listaPremezclasModificados)
                        {
                            listaPremezclasModificadoP.UsuarioModificacionId = usuario;
                        }
                        premezclaDetalleBl.Actualizar(listaPremezclasModificados);
                    }

                    //Desactivar eliminados
                    if (listaPremezclaEliminados.Count > 0)
                    {
                        foreach (var listaPremezclaEliminado in listaPremezclaEliminados)
                        {
                            listaPremezclaEliminado.Activo = EstatusEnum.Inactivo;
                        }
                        premezclaDetalleBl.Actualizar(listaPremezclaEliminados);
                    }

                    transaction.Complete();
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }