Example #1
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad RepartoAlimentoDetalle
 /// </summary>
 /// <param name="info"></param>
 public int Guardar(RepartoAlimentoDetalleInfo info)
 {
     try
     {
         Logger.Info();
         var repartoAlimentoDetalleDAL = new RepartoAlimentoDetalleDAL();
         int result = info.RepartoAlimentoDetalleID;
         if (info.RepartoAlimentoDetalleID == 0)
         {
             result = repartoAlimentoDetalleDAL.Crear(info);
         }
         else
         {
             repartoAlimentoDetalleDAL.Actualizar(info);
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #2
0
        /// <summary>
        /// Metodo para Guardar/Modificar una entidad RepartoAlimento
        /// </summary>
        /// <param name="reparto"></param>
        /// <param name="repartoDetalle"></param>
        /// <param name="organizacionID"></param>
        public int Guardar(RepartoAlimentoInfo reparto, List <GridRepartosModel> repartoDetalle, int organizacionID)
        {
            try
            {
                Logger.Info();
                var repartoAlimentoDAL           = new RepartoAlimentoDAL();
                int result                       = reparto.RepartoAlimentoID;
                var listaRepartosAlimentoDetalle = new List <RepartoAlimentoDetalleInfo>();
                GenerarRepartoAlimentoDetalle(repartoDetalle, listaRepartosAlimentoDetalle, organizacionID, reparto.RepartoAlimentoID);

                using (var transaction = new TransactionScope())
                {
                    if (reparto.RepartoAlimentoID == 0)
                    {
                        result = repartoAlimentoDAL.Crear(reparto);
                    }
                    else
                    {
                        repartoAlimentoDAL.Actualizar(reparto);
                    }
                    listaRepartosAlimentoDetalle.ForEach(detalle =>
                    {
                        detalle.RepartoAlimentoID = result;
                        detalle.UsuarioCreacionID = reparto.UsuarioCreacionID;
                    });
                    var repartoAlimentoDetalleDAL = new RepartoAlimentoDetalleDAL();
                    repartoAlimentoDetalleDAL.Guardar(listaRepartosAlimentoDetalle);

                    if (reparto.ListaTiempoMuerto != null && reparto.ListaTiempoMuerto.Any())
                    {
                        reparto.ListaTiempoMuerto.ForEach(tiempo => tiempo.UsuarioCreacionID = reparto.UsuarioCreacionID);
                        var tiempoMuertoDAL = new TiempoMuertoDAL();
                        tiempoMuertoDAL.GuardarTiempoMuertoReparto(reparto.ListaTiempoMuerto.Where(tiempo => tiempo.TiempoMuertoID == 0).ToList(), result);
                    }

                    transaction.Complete();
                }
                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Example #3
0
 /// <summary>
 /// Obtiene un lista de RepartoAlimentoDetalle
 /// </summary>
 /// <returns></returns>
 public IList <RepartoAlimentoDetalleInfo> ObtenerTodos()
 {
     try
     {
         Logger.Info();
         var repartoAlimentoDetalleDAL             = new RepartoAlimentoDetalleDAL();
         IList <RepartoAlimentoDetalleInfo> result = repartoAlimentoDetalleDAL.ObtenerTodos();
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #4
0
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public ResultadoInfo <RepartoAlimentoDetalleInfo> ObtenerPorPagina(PaginacionInfo pagina, RepartoAlimentoDetalleInfo filtro)
 {
     try
     {
         Logger.Info();
         var repartoAlimentoDetalleDAL = new RepartoAlimentoDetalleDAL();
         ResultadoInfo <RepartoAlimentoDetalleInfo> result = repartoAlimentoDetalleDAL.ObtenerPorPagina(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #5
0
 /// <summary>
 /// Obtiene una entidad RepartoAlimentoDetalle por su descripciĆ³n
 /// </summary>
 /// <param name="descripcion"></param>
 /// <returns></returns>
 public RepartoAlimentoDetalleInfo ObtenerPorDescripcion(string descripcion)
 {
     try
     {
         Logger.Info();
         var repartoAlimentoDetalleDAL     = new RepartoAlimentoDetalleDAL();
         RepartoAlimentoDetalleInfo result = repartoAlimentoDetalleDAL.ObtenerPorDescripcion(descripcion);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #6
0
        private void GenerarRepartoAlimentoDetalle(List <GridRepartosModel> repartoDetalle, List <RepartoAlimentoDetalleInfo> listaRepartosAlimentoDetalle, int organizacionID, int repartoAlimentoID)
        {
            IList <RepartoAlimentoDetalleInfo> listaDetallesGuardadas = new List <RepartoAlimentoDetalleInfo>();

            if (repartoAlimentoID > 0)
            {
                var repartoAlimentoDetalleDAL = new RepartoAlimentoDetalleDAL();
                listaDetallesGuardadas =
                    repartoAlimentoDetalleDAL.ObtenerPorRepartoAlimentoID(repartoAlimentoID);
            }
            var codigosCorral = new List <string>();

            repartoDetalle.ForEach(rep =>
            {
                codigosCorral.Add(rep.CorralInicio.Trim().PadLeft(3, '0'));
                codigosCorral.Add(rep.CorralFinal.Trim().PadLeft(3, '0'));
            });
            var corralDAL = new CorralDAL();
            List <CorralInfo> corrales = corralDAL.ObtenerCorralesPorCodigosCorral(codigosCorral, organizacionID);

            if (corrales == null)
            {
                return;
            }
            foreach (var detalle in repartoDetalle)
            {
                if (listaDetallesGuardadas != null && listaDetallesGuardadas.Any())
                {
                    RepartoAlimentoDetalleInfo detalleExiste =
                        listaDetallesGuardadas.FirstOrDefault(
                            deta =>
                            deta.FolioReparto == detalle.Reparto && deta.FormulaIDRacion == detalle.RacionFormula);
                    if (detalleExiste != null)
                    {
                        continue;
                    }
                }
                var repartoAlimentoDetalle = new RepartoAlimentoDetalleInfo();
                repartoAlimentoDetalle.FolioReparto    = detalle.Reparto;
                repartoAlimentoDetalle.FormulaIDRacion = detalle.RacionFormula;
                repartoAlimentoDetalle.Tolva           = detalle.NumeroTolva.ToString(CultureInfo.InvariantCulture);
                repartoAlimentoDetalle.KilosEmbarcados = detalle.KilosEmbarcados;
                repartoAlimentoDetalle.KilosRepartidos = detalle.KilosRepartidos;
                repartoAlimentoDetalle.Sobrante        = detalle.Sobrante;
                repartoAlimentoDetalle.PesoFinal       = detalle.PesoFinal;

                CorralInfo corralInicio =
                    corrales.FirstOrDefault(
                        cor => cor.Codigo.ToUpper().Trim().Equals(detalle.CorralInicio.ToUpper().Trim().PadLeft(3, '0')));
                if (corralInicio == null)
                {
                    continue;
                }
                repartoAlimentoDetalle.CorralIDInicio = corralInicio.CorralID;
                CorralInfo corralFinal =
                    corrales.FirstOrDefault(
                        cor => cor.Codigo.ToUpper().Trim().Equals(detalle.CorralFinal.ToUpper().Trim().PadLeft(3, '0')));
                if (corralFinal == null)
                {
                    continue;
                }
                repartoAlimentoDetalle.CorralIDFinal     = corralFinal.CorralID;
                repartoAlimentoDetalle.HoraRepartoInicio = detalle.HoraInicioReparto;
                repartoAlimentoDetalle.HoraRepartoFinal  = detalle.HoraFinalReparto;
                repartoAlimentoDetalle.Observaciones     = detalle.Observaciones;

                listaRepartosAlimentoDetalle.Add(repartoAlimentoDetalle);
            }
        }