/// <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); }
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); } }
/// <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); }
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); }
/// <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); }
/// <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); } }
/// <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); }
/// <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); } }