public void InsertarBandejaEntradaUsuario(string expedienteid, string documentoid, string nombreusuario) { BandejaDocumento bandejaDocumento = new BandejaDocumento(); bandejaDocumento.idexpediente = expedienteid; bandejaDocumento.iddocumento = documentoid; UpdateDefinition <Bandeja> updateBandeja = Builders <Bandeja> .Update.Push("bandejaentrada", bandejaDocumento); Usuario usuario = _usuarios.Find(user => user.usuario == nombreusuario).First(); _bandejas.UpdateOne(band => band.usuario == usuario.id, updateBandeja); }
public ExpedienteBandejaDTO registrarDerivacion(Expediente expediente, string userId) { Derivacion derivacion = new Derivacion(); derivacion = expediente.derivaciones.FirstOrDefault(); derivacion.usuarioreceptor = userId; var filter = Builders <Expediente> .Filter.Eq(exp => exp.id, expediente.id); var update = Builders <Expediente> .Update.Push("derivaciones", derivacion); _expedientes.UpdateOne(filter, update); BandejaDocumento bandejaDocumento = new BandejaDocumento(); bandejaDocumento.idexpediente = expediente.id; bandejaDocumento.iddocumento = expediente.documentos.Last().iddocumento; UpdateDefinition <Bandeja> updateBandeja = Builders <Bandeja> .Update.Push("bandejaentrada", bandejaDocumento); _bandejas.UpdateOne(band => band.usuario == userId, updateBandeja); UpdateDefinition <Bandeja> updateBandejaS = Builders <Bandeja> .Update.Pull("bandejasalida", bandejaDocumento); _bandejas.UpdateOne(band => band.usuario == derivacion.usuarioemisor, updateBandejaS); UpdateDefinition <Bandeja> updateBandejaE = Builders <Bandeja> .Update.Pull("bandejaentrada", bandejaDocumento); _bandejas.UpdateOne(band => band.usuario == derivacion.usuarioemisor, updateBandejaE); Proceso proceso = new Proceso(); proceso.area = derivacion.areaprocedencia; proceso.fechaemision = DateTime.Now; proceso.fecharecepcion = DateTime.Now; proceso.idemisor = derivacion.usuarioemisor; proceso.idreceptor = userId; UpdateDefinition <Documento> updateDocumento = Builders <Documento> .Update.Push("historialproceso", proceso); _documentos.UpdateOne(doc => doc.id == bandejaDocumento.iddocumento, updateDocumento); ExpedienteBandejaDTO ex = new ExpedienteBandejaDTO(); ex = obtenerExpedienteBandeja(expediente.id); return(ex); }