/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new PrecioPACInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), }; }
/// <summary> /// Metodo para Guardar/Modificar una entidad PrecioPAC /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(PrecioPACInfo info) { try { Logger.Info(); int id; info.OrganizacionID = info.Organizacion.OrganizacionID; info.TipoPACID = info.TipoPAC.TipoPACID; if (info.PrecioPACID > 0) { id = da.Actualizar <PrecioPACInfo>(info); precioPACAccessor.ActualizarFechaModificacion(info.PrecioPACID); } else { id = da.Insertar <PrecioPACInfo>(info); } return(id); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Constructor para editar una entidad PrecioPAC Existente /// </summary> /// <param name="precioPACInfo"></param> public PrecioPACEdicion(PrecioPACInfo precioPACInfo) { InitializeComponent(); CargaComboOrganizacion(); CargaComboTipo(); precioPACInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = precioPACInfo; }
/// <summary> /// Obtiene una lista paginada de PrecioPAC /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <PrecioPACInfo> ObtenerPorPagina(PaginacionInfo pagina, PrecioPACInfo filtro) { try { Logger.Info(); var result = new ResultadoInfo <PrecioPACInfo>(); var condicion = da.Tabla <PrecioPACInfo>().Where(e => e.Activo == filtro.Activo); if (filtro.PrecioPACID > 0) { condicion = condicion.Where(e => e.PrecioPACID == filtro.PrecioPACID); } result.TotalRegistros = condicion.Count(); int inicio = pagina.Inicio; int limite = pagina.Limite; if (inicio > 1) { int limiteReal = (limite - inicio) + 1; inicio = (limite / limiteReal); limite = limiteReal; } var paginado = condicion .OrderBy(e => e.PrecioPACID) .Skip((inicio - 1) * limite) .Take(limite); result.Lista = paginado.ToList(); var tiposPAC = base.da.Tabla <TipoPACInfo>(); var organizacionBL = new OrganizacionBL(); IList <OrganizacionInfo> organizaciones = organizacionBL.ObtenerTodos(EstatusEnum.Activo); result.Lista.ToList().ForEach(datos => { datos.Organizacion = organizaciones.FirstOrDefault( id => id.OrganizacionID == datos.OrganizacionID); datos.TipoPAC = tiposPAC.FirstOrDefault(id => id.TipoPACID == datos.TipoPACID); }); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new PrecioPACInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), OrganizacionID = 0, Organizacion = new OrganizacionInfo(), Precio = 0, PrecioViscera = 0, TipoPAC = new TipoPACInfo(), TipoPACID = 0, FechaInicio = DateTime.Now }; }
/// <summary> /// Evento que se ejecuta mientras se esta cerrando la ventana /// </summary> /// <param name="e"></param> protected override void OnClosing(CancelEventArgs e) { if (confirmaSalir) { MessageBoxResult result = SkMessageBox.Show(this, Properties.Resources.Msg_CerrarSinGuardar, MessageBoxButton.YesNo, MessageImage.Question); if (result == MessageBoxResult.Yes) { Contexto = null; } else { e.Cancel = true; } } }
/// <summary> /// Obtiene una lista paginada de PrecioPAC /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <PrecioPACInfo> ObtenerPorPagina(PaginacionInfo pagina, PrecioPACInfo filtro) { try { Logger.Info(); return(precioPACDAL.ObtenerPorPagina(pagina, filtro)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar/Modificar una entidad PrecioPAC /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(PrecioPACInfo info) { try { Logger.Info(); return(precioPACDAL.Guardar(info)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un registro por id /// </summary> /// <param name="organizacionID"></param> /// <returns></returns> internal PrecioPACInfo ObtenerPrecioPACActivo(int organizacionID) { PrecioPACInfo precioPac = null; try { var parametros = new Dictionary <string, object> { { "@OrganizacionID", organizacionID } }; DataSet ds = Retrieve("PrecioPAC_ObtenerPorOrganizacion", parametros); if (ValidateDataSet(ds)) { precioPac = MapPrecioPACDAL.ObtenerActivoPorOrganizacion(ds); } } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(precioPac); }
/// <summary> /// Recalcula los importes de Canal, Piel y Viscera /// </summary> /// <param name="polizasSacrificioSukarne"></param> /// <param name="polizasSacrificioTraspaso"> </param> /// <param name="lotesSacrificioFolios"></param> /// <param name="interfaceSalidaTraspaso"></param> /// <param name="cancelacion"> </param> private void GenerarImportesSacrificioLucero(IList <PolizaInfo> polizasSacrificioSukarne , IList <PolizaInfo> polizasSacrificioTraspaso , List <PolizaSacrificioModel> lotesSacrificioFolios , List <InterfaceSalidaTraspasoInfo> interfaceSalidaTraspaso , bool cancelacion) { polizasSacrificioTraspaso = polizasSacrificioTraspaso.Where( imp => imp.Importe.IndexOf("-", StringComparison.CurrentCultureIgnoreCase) < 0).ToList(); if (polizasSacrificioTraspaso.Any()) { int folioTraspaso = polizasSacrificioTraspaso.Select(folio => Convert.ToInt32(folio.TextoAsignado)).FirstOrDefault(); InterfaceSalidaTraspasoInfo traspaso = interfaceSalidaTraspaso.FirstOrDefault(id => id.FolioTraspaso == folioTraspaso); if (traspaso != null) { var precioPACBL = new PrecioPACDAL(); PrecioPACInfo precioPac = precioPACBL.ObtenerPrecioPACActivo(traspaso.OrganizacionDestino.OrganizacionID); if (precioPac == null) { precioPac = new PrecioPACInfo(); } decimal importe = polizasSacrificioTraspaso.Sum(imp => Convert.ToDecimal(imp.Importe)); traspaso.ListaInterfaceSalidaTraspasoDetalle .ForEach(datos => { PolizaSacrificioModel polizaSacrificioModel = lotesSacrificioFolios.FirstOrDefault( detId => detId.InterfaceSalidaTraspasoDetalleID == datos.InterfaceSalidaTraspasoDetalleID); if (polizaSacrificioModel != null) { List <PolizaInfo> polizasAModificar = polizasSacrificioSukarne.Where( folio => folio.Concepto .IndexOf(string.Format("{0}-{1}", polizaSacrificioModel.Serie, polizaSacrificioModel.Folio), StringComparison.CurrentCultureIgnoreCase) >= 0). OrderBy(linea => Convert.ToInt32(linea.NumeroLinea)).ToList(); if (polizasAModificar.Any()) { decimal importeTotal = importe + (datos.Cabezas * 320); decimal importeCanal = 0; decimal importePiel = polizaSacrificioModel.PesoPiel * precioPac.Precio; decimal importeViscera = datos.Cabezas * precioPac.PrecioViscera; const int CANAL = 1; const int PIEL = 2; const int VISCERA = 3; polizasAModificar.ForEach(poliza => { switch (Convert.ToInt32(poliza.NumeroLinea)) { case CANAL: importeCanal = importeTotal - (importePiel + importeViscera); poliza.Importe = string.Format("{0}{1:F2}", cancelacion ? string.Empty : "-", importeCanal); polizaSacrificioModel. ImporteCanal = importeCanal; break; case PIEL: poliza.Importe = string.Format("{0}{1:F2}", cancelacion ? string.Empty : "-", importePiel); polizaSacrificioModel. ImportePiel = importePiel; break; case VISCERA: poliza.Importe = string.Format("{0}{1:F2}", cancelacion ? string.Empty : "-", importeViscera); polizaSacrificioModel. ImporteViscera = importeViscera; break; case 4: poliza.Importe = string.Format("{0}{1:F2}", cancelacion ? "-" : string.Empty, importeCanal + importePiel + importeViscera); break; } }); } } }); } } }