Beispiel #1
0
        public static Solicitud ActualizarSolicitud(DateTime ahora, Usuario usuario, Solicitud s, string rol, List <Archivo> archivos, string cboAccion, string txtInteresados, string cboObservacion, string txtComentario)
        {
            ObservacionRepository observacionRepository = new ObservacionRepository();
            SolicitudRepository   solicitudRepository   = new SolicitudRepository();

            EventLog.WriteEntry("Util", "linea 470");
            if (!String.IsNullOrEmpty(cboAccion))
            {
                var estadoAntiguo = s.Estado;
                s.Estado = solicitudRepository.ObtenerEstado(rol, s.Estado, cboAccion);
                if (String.IsNullOrEmpty(s.Estado))
                {
                    s.Estado = estadoAntiguo;
                }
            }
            EventLog.WriteEntry("Util", "linea 473");
            s.CopiarA = txtInteresados;
            EventLog.WriteEntry("Util", "linea 475");
            if (!String.IsNullOrEmpty(s.Estado) && !String.IsNullOrEmpty(cboAccion))
            {
                Log log = new Log();
                log.Usuario = usuario;
                log.Accion  = cboAccion;
                EventLog.WriteEntry("Util", "linea 481");
                if (log.Accion.IndexOf("Observar") >= 0)
                {
                    EventLog.WriteEntry("Util", "linea 484");
                    int observacionId;
                    int.TryParse(cboObservacion, out observacionId);
                    log.Observacion = observacionRepository.Obtener(observacionId);
                    log.Comentario  = String.IsNullOrEmpty(txtComentario) ? log.Observacion.Nombre : txtComentario;
                }
                else
                {
                    EventLog.WriteEntry("Util", "linea 492");
                    log.Comentario = txtComentario.Trim();
                }
                if (/*log.Accion.IndexOf("Observar") >= 0 &&*/ archivos.Count > 0 && archivos[0].Contenido.Length > 0)
                {
                    EventLog.WriteEntry("Util", "linea 497");
                    log.Archivo = archivos[0];
                }
                else
                {
                    EventLog.WriteEntry("Util", "linea 502");
                    log.Archivo.Nombre    = String.Empty;
                    log.Archivo.Contenido = new byte[0];
                }
                log.Estado    = s.Estado;
                log.FechaHora = ahora;
                EventLog.WriteEntry("Util", "linea 508");
                s.Logs.Add(log);
            }
            EventLog.WriteEntry("Util", "linea 511");
            s = solicitudRepository.ActualizarOtroSolicitadoxSol(s);
            return(s);
        }