//-----------------------Metodos para recibir un documento----------------------- public void DocumentoExiste(string _nombreDoc, int _idProc) { int idUsuarioActual = SessionHelper.GetUser().idUsuario; using (var db = new AppDBContext()) { DateTime fhActual = DateTime.Now; Documentos oDocs = new Documentos(); FlujoDocumento fDocs = new FlujoDocumento(); Historico oHistorico = new Historico(); //Editamos solo la info del mismo var idDoc = (from dId in db.Documentos where dId.nombreDocumentos == _nombreDoc select dId).FirstOrDefault(); idDoc.updated_at = fhActual; db.Entry(idDoc).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); //obtenemos el area del usuario var area = (from a in db.Area where a.idUsuario == idUsuarioActual select a).FirstOrDefault(); //Obtenemos datos del doc Guardado/Editado var docs = (from d in db.Documentos where d.nombreDocumentos == _nombreDoc select d).FirstOrDefault(); //Obtener historico de donde sale var oHistoricoA = (from h in db.Historico where h.idDocumento == idDoc.idDocumento && h.fechaFin == null select h).FirstOrDefault(); //Asignamos la fecha de salida oHistoricoA.fechaFin = fhActual; db.Entry(oHistoricoA).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); //Creamos el flujo fDocs.idDocumento = docs.idDocumento; fDocs.idProcedimiento = _idProc; fDocs.idArea = area.idArea; //----------Creamos el Historico---------------- oHistorico.idDocumento = docs.idDocumento; oHistorico.idProcedimiento = _idProc; oHistorico.fechaInicio = fhActual; //oHistorico.fechaFin = ; Queda NULL oHistorico.idUsuario = idUsuarioActual; db.Historico.Add(oHistorico); //Asignamos el flujo al documento db.FlujoDocumento.Add(fDocs); db.SaveChanges(); } }
public void DocumentoNoExiste(string _nombreDoc, int _idTipoD, int _idProc) { int idUsuarioActual = SessionHelper.GetUser().idUsuario; using (var db = new AppDBContext()) { DateTime fhActual = DateTime.Now; Documentos oDocs = new Documentos(); FlujoDocumento fDocs = new FlujoDocumento(); Historico oHistorico = new Historico(); //Agregamos info del doc oDocs.nombreDocumentos = _nombreDoc; oDocs.created_at = fhActual; oDocs.idUsuario = idUsuarioActual; oDocs.idTipoDocumento = _idTipoD; db.Documentos.Add(oDocs); db.SaveChanges(); //obtenemos el area del usuario var area = (from a in db.Area //where a.idUsuario == oDocs.idUsuario where a.idUsuario == idUsuarioActual select a).FirstOrDefault(); //Obtenemos datos del doc Guardado/Editado var docs = (from d in db.Documentos where d.nombreDocumentos == _nombreDoc select d).FirstOrDefault(); //Creamos el flujo fDocs.idDocumento = docs.idDocumento; fDocs.idProcedimiento = _idProc; fDocs.idArea = area.idArea; //----------Creamos el Historico---------------- //(VALIDAR ENTRADA Y SALIDA DE AREA) oHistorico.idDocumento = docs.idDocumento; oHistorico.idProcedimiento = _idProc; oHistorico.fechaInicio = fhActual; //No se guardara fecha de salida //oHistorico.fechaFin = fhActual; oHistorico.idUsuario = idUsuarioActual; db.Historico.Add(oHistorico); //Asignamos el flujo al documento db.FlujoDocumento.Add(fDocs); db.SaveChanges(); //Ontenemos el ID del flujo para luego asignar al doc var flujo = (from f in db.FlujoDocumento where f.idDocumento == docs.idDocumento && f.idArea == area.idArea select f).FirstOrDefault(); //Asignamos el flujo al doc nuevo oDocs.idFlujoDocumento = flujo.idFlujoDocumento; db.Entry(oDocs).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } }