示例#1
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new PrecioPACInfo
     {
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
     };
 }
示例#2
0
        /// <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;
 }
示例#4
0
        /// <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;
         }
     }
 }
示例#7
0
 /// <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);
     }
 }
示例#8
0
 /// <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);
     }
 }
示例#9
0
        /// <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);
        }
示例#10
0
        /// <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;
                                    }
                                });
                            }
                        }
                    });
                }
            }
        }