예제 #1
0
        //-----------------------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();
            }
        }
예제 #2
0
        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();
            }
        }