/// <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); } }