Example #1
0
        /// <summary>
        /// Metodo para Guardar/Modificar una entidad CheckListCorral
        /// </summary>
        /// <param name="info"></param>
        /// <param name="xml"></param>
        internal int Guardar(CheckListCorralInfo info, XDocument xml)
        {
            try
            {
                using (var transaction = new TransactionScope())
                {
                    Logger.Info();
                    var checkListCorralDAL = new CheckListCorralDAL();
                    int result             = info.CheckListCorralID;
                    GuardarProyeccion(info, checkListCorralDAL);
                    ArmarXML(info, xml);


                    if (info.CheckListCorralID == 0)
                    {
                        result = checkListCorralDAL.Crear(info);
                    }
                    else
                    {
                        checkListCorralDAL.Actualizar(info);
                    }

                    var loteBL             = new LoteBL();
                    var filtroCierreCorral = new FiltroCierreCorral
                    {
                        FechaSacrificio       = info.FechaSacrificio,
                        FechaCierre           = info.Fecha,
                        LoteID                = info.LoteID,
                        UsuarioModificacionID = info.UsuarioCreacionID
                    };
                    loteBL.ActualizaFechaCerrado(filtroCierreCorral);
                    transaction.Complete();
                    return(result);
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }