Esempio n. 1
0
 /// <summary>
 /// Metodo para guardar la configuracion de reimplantes
 /// </summary>
 /// <param name="configuracionReimplante">Representa el Contexto de lo que se va a guardar</param>
 public int GuardarConfiguracionReimplante(ConfiguracionReimplanteModel configuracionReimplante)
 {
     try
     {
         Logger.Info();
         var loteProyeccionBL = new LoteProyeccionBL();
         int result           = loteProyeccionBL.GuardarConfiguracionReimplante(configuracionReimplante);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 private void InicializaContexto()
 {
     Contexto = new ConfiguracionReimplanteModel
     {
         Corral = new CorralInfo
         {
             Organizacion = new OrganizacionInfo
             {
                 OrganizacionID = AuxConfiguracion.ObtenerOrganizacionUsuario()
             }
         },
         Lote           = new LoteInfo(),
         TipoGanado     = new TipoGanadoInfo(),
         LoteProyeccion = new LoteProyeccionInfo
         {
             ListaReimplantes = new List <LoteReimplanteInfo>()
         },
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado()
     };
 }
Esempio n. 3
0
 /// <summary>
 /// Metodo para guardar la configuracion de reimplantes
 /// </summary>
 /// <param name="configuracionReimplante">Representa el Contexto de lo que se va a guardar</param>
 public int GuardarConfiguracionReimplante(ConfiguracionReimplanteModel configuracionReimplante)
 {
     try
     {
         Logger.Info();
         var loteReimplanteBL       = new LoteReimplanteBL();
         var loteProyeccionDAL      = new LoteProyeccionDAL();
         var loteDAL                = new LoteDAL();
         int result                 = configuracionReimplante.LoteProyeccion.LoteProyeccionID;
         var opciones               = new TransactionOptions();
         var filtroDisponilidadInfo = new FiltroDisponilidadInfo
         {
             UsuarioId = configuracionReimplante.LoteProyeccion.UsuarioCreacionID,
             ListaLoteDisponibilidad =
                 new List <DisponibilidadLoteInfo>
             {
                 new DisponibilidadLoteInfo
                 {
                     LoteId = configuracionReimplante.Lote.LoteID,
                     FechaDisponibilidad  = configuracionReimplante.FechaDisponible,
                     DisponibilidadManual = false
                 }
             }
         };
         opciones.IsolationLevel = IsolationLevel.ReadUncommitted;
         opciones.Timeout        = new TimeSpan(2, 0, 0);
         using (var scope = new TransactionScope(TransactionScopeOption.Required, opciones))
         {
             if (configuracionReimplante.LoteProyeccion.LoteProyeccionID == 0)
             {
                 configuracionReimplante.LoteProyeccion.OrganizacionID = configuracionReimplante.Corral.Organizacion.OrganizacionID;
                 configuracionReimplante.LoteProyeccion.LoteID         = configuracionReimplante.Lote.LoteID;
                 result = loteProyeccionDAL.Crear(configuracionReimplante.LoteProyeccion);
                 configuracionReimplante.LoteProyeccion.LoteProyeccionID = result;
                 loteProyeccionDAL.CrearBitacora(configuracionReimplante.LoteProyeccion);
             }
             else
             {
                 if (configuracionReimplante.LoteProyeccion.AplicaBitacora)
                 {
                     loteProyeccionDAL.Actualizar(configuracionReimplante.LoteProyeccion);
                     loteProyeccionDAL.CrearBitacora(configuracionReimplante.LoteProyeccion);
                 }
             }
             if (configuracionReimplante.LoteProyeccion.ListaReimplantes != null &&
                 configuracionReimplante.LoteProyeccion.ListaReimplantes.Any())
             {
                 configuracionReimplante.LoteProyeccion.ListaReimplantes.ToList().ForEach(
                     reimp => reimp.LoteProyeccionID = result);
                 loteReimplanteBL.GuardarListaReimplantes(
                     configuracionReimplante.LoteProyeccion.ListaReimplantes.ToList());
             }
             loteDAL.ActualizarLoteDisponibilidad(filtroDisponilidadInfo);
             if (configuracionReimplante.Lote.AplicaCierreLote)
             {
                 loteDAL.ActualizaFechaCierre(configuracionReimplante.Lote.LoteID, configuracionReimplante.UsuarioCreacionID);
             }
             scope.Complete();
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }