示例#1
0
        public FLUJO determinaAgenteI(DOCUMENTO d, string user, string delega, int pos, DET_AGENTECA dah, int step, FLUJO actual)//MGC 19-10-2018 Cambio a detonador
        {
            if (delega != null)
            {
                user = delega;
            }
            bool            fin = false;
            WFARTHAEntities db  = new WFARTHAEntities();
            DET_AGENTECA    dap = new DET_AGENTECA();
            USUARIO         u   = db.USUARIOs.Find(d.USUARIOC_ID);

            if (pos.Equals(0))
            {
                List <DET_AGENTECA> dal = db.DET_AGENTECA.Where(a => a.VERSION == dah.VERSION && a.ID_RUTA_AGENTE == dah.ID_RUTA_AGENTE && a.STEP_FASE == dah.STEP_FASE).OrderByDescending(a => a.VERSION).ToList();

                dap = detAgenteLimite(dal, Convert.ToDecimal(d.MONTO_DOC_MD), step, actual);//MGC 19-10-2018 Cambio a detonador
            }

            string agente = "";
            FLUJO  f      = new FLUJO();

            f.DETPOS = 0;
            if (!fin)
            {
                //agente = dap.USUARIOA_ID;
                agente = dap.AGENTE_SIG;
                //f.DETPOS = dap.POS;
                f.DETPOS    = dap.STEP_FASE;
                f.STEP_AUTO = dap.STEP_FASE;
            }
            f.USUARIOA_ID = agente;
            return(f);
        }
示例#2
0
        //Obtener el agente que se ajusta de a partir del monto del documento
        public DET_AGENTECA detAgenteLimite(List <DET_AGENTECA> lag, decimal monto, int step, FLUJO flujo)//MGC 19-10-2018 Cambio a detonador
        {
            List <DET_AGENTECA> lr = new List <DET_AGENTECA>();

            //MGC 19-10-2018 Cambio a detonador
            if (lag.Count == 0 & step == 0)
            {
                WFARTHAEntities db = new WFARTHAEntities();
                //Obtener el usuario al que se le creo la orden
                DET_AGENTECC dc = new DET_AGENTECC();

                dc = db.DET_AGENTECC.Where(dtc => dtc.VERSION == flujo.RUTA_VERSION && dtc.USUARIOC_ID == flujo.USUARIOA_ID && dtc.ID_RUTA_AGENTE == flujo.ID_RUTA_A).FirstOrDefault();

                DET_AGENTECA dt = new DET_AGENTECA();

                dt.ID_RUTA_AGENTE = flujo.ID_RUTA_A;
                dt.VERSION        = Convert.ToInt32(flujo.RUTA_VERSION);
                dt.STEP_FASE      = 0;
                dt.STEP_ACCION    = 0;
                dt.LIM_SUP        = Convert.ToDecimal(99999999999.00);
                dt.AGENTE_SIG     = dc.USUARIOA_ID;

                lr.Add(dt);
            }
            //MGC 19-10-2018 Cambio a detonador
            else
            {
                //Funcionamiento en cadena
                foreach (DET_AGENTECA ag in lag)
                {
                    if (monto < ag.LIM_SUP)
                    {
                        lr.Add(ag);
                    }
                }
            }

            //Se obtuvieron los registros que pueden validar el monto
            DET_AGENTECA rv = new DET_AGENTECA();

            rv = lr.OrderBy(ll => ll.LIM_SUP).FirstOrDefault();
            return(rv);
        }
示例#3
0
        //public ActionResult Edit([Bind(Include = "ID_RUTA_AGENTE,VERSION,STEP_FASE_STEP_ACCION,LIM_SUP,AGENTE_SIG,OVERRIDE")] DET_AGENTECA dET_AGENTECA)
        public ActionResult Edit([Bind(Include = "USUARIOC_ID,ID_RUTA_AGENTE,USUARIOA_ID, LDET_ACA")] CadenaAutorizacion cadenaAutorizacion)
        {
            bool error = false;

            //Obtener usuario creador y solicitante (Con la última versión y número de ruta)
            DET_AGENTECCV agcc = new DET_AGENTECCV();

            agcc = db.DET_AGENTECCV.Where(cc => cc.USUARIOC_ID == cadenaAutorizacion.USUARIOC_ID && cc.ID_RUTA_AGENTE == cadenaAutorizacion.ID_RUTA_AGENTE).FirstOrDefault();

            int    version = 0;
            string ruta    = "";

            //Ya existe una cadena, agregar una nueva versión
            if (agcc != null)
            {
                DET_AGENTECC agccn = new DET_AGENTECC();

                agccn.VERSION        = agcc.VERSION + 1;
                agccn.USUARIOC_ID    = agcc.USUARIOC_ID;
                agccn.ID_RUTA_AGENTE = agcc.ID_RUTA_AGENTE;
                agccn.USUARIOA_ID    = agcc.USUARIOA_ID;
                agccn.FECHAC         = DateTime.Now;

                db.DET_AGENTECC.Add(agccn);

                try
                {
                    //Guardar la cabecera
                    db.SaveChanges();

                    version = agccn.VERSION;
                    ruta    = agccn.ID_RUTA_AGENTE;
                }
                catch (Exception e)
                {
                    error = true;
                }
            }

            //Guardar el detalle en DET_AGENTECA
            try
            {
                if (!error)
                {
                    for (int j = 0; j < cadenaAutorizacion.LDET_ACA.Count; j++)
                    {
                        DET_AGENTECA ca = new DET_AGENTECA();

                        ca.ID_RUTA_AGENTE = ruta;
                        ca.VERSION        = version;
                        ca.STEP_FASE      = cadenaAutorizacion.LDET_ACA[j].STEP_FASE;
                        ca.STEP_ACCION    = 1;
                        ca.LIM_SUP        = 99999999999.00M;
                        ca.AGENTE_SIG     = cadenaAutorizacion.LDET_ACA[j].AGENTE_SIG;
                        try
                        {
                            db.DET_AGENTECA.Add(ca);
                            db.SaveChanges();
                        }
                        catch
                        {
                        }
                    }
                }
            }
            catch
            {
            }

            if (error)
            {
                ViewBag.Error = "Ocurrio un error al taratar de ingresar registro";
                int pagina = 673; //ID EN BASE DE DATOS
                FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller);
                CadenaAutorizacion obj = new CadenaAutorizacion();
                return(View(obj));
            }
            else
            {
                return(RedirectToAction("Details", new { VERSION = version, ID_RUTA_AGENTE = ruta }));
            }


            //try
            //{
            //    //var CadenaAutorizacion1 = db.DET_AGENTECA.Where(a => a.VERSION == dET_AGENTECA.VERSION && a.ID_RUTA_AGENTE == dET_AGENTECA.ID_RUTA_AGENTE);
            //    //var step = CadenaAutorizacion1.Count();
            //    //var version = dET_AGENTECA.VERSION;
            //    //var ruta = dET_AGENTECA.ID_RUTA_AGENTE;
            //    //dET_AGENTECA.STEP_FASE = step + 1;
            //    //dET_AGENTECA.STEP_ACCION = 1;
            //    //dET_AGENTECA.LIM_SUP = 99999999999;
            //    //db.DET_AGENTECA.Add(dET_AGENTECA);
            //    //db.SaveChanges();

            //    return RedirectToAction("Details", new { VERSION = version, ID_RUTA_AGENTE = ruta });

            //}
            //catch (Exception e)
            //{

            //}

            return(RedirectToAction("Index"));
        }
示例#4
0
        public ActionResult Create([Bind(Include = "USUARIOC_ID,ID_RUTA_AGENTE,USUARIOA_ID, LDET_ACA")] CadenaAutorizacion cadenaAutorizacion)
        {
            bool error = false;

            //Obtener usuario creador y solicitante (Con la última versión y número de ruta)
            DET_AGENTECCV agcc = new DET_AGENTECCV();

            agcc = db.DET_AGENTECCV.Where(cc => cc.USUARIOC_ID == cadenaAutorizacion.USUARIOC_ID && cc.USUARIOA_ID == cadenaAutorizacion.USUARIOA_ID).FirstOrDefault();

            int    version = 0;
            string ruta    = "";

            //Ya existe una cadena, agregar una nueva versión
            if (agcc != null)
            {
                DET_AGENTECC agccn = new DET_AGENTECC();

                agccn.VERSION        = agcc.VERSION + 1;
                agccn.USUARIOC_ID    = agcc.USUARIOC_ID;
                agccn.ID_RUTA_AGENTE = agcc.ID_RUTA_AGENTE;
                agccn.USUARIOA_ID    = agcc.USUARIOA_ID;
                agccn.FECHAC         = DateTime.Now;

                db.DET_AGENTECC.Add(agccn);

                try
                {
                    //Guardar la cabecera
                    db.SaveChanges();

                    version = agccn.VERSION;
                    ruta    = agccn.ID_RUTA_AGENTE;
                }catch (Exception e)
                {
                    error = true;
                }
            }
            else
            {
                //No existe la cadena
                //Agregar una nueva
                try
                {
                    List <string> id_ruta = new List <string>();
                    id_ruta = db.DET_AGENTECC.Select(a => a.ID_RUTA_AGENTE).ToList();


                    if (id_ruta != null && id_ruta.Count > 0)
                    {
                        List <int> id_rutai = new List <int>();
                        int        id_rutav = 0;

                        id_rutai = id_ruta.Select(int.Parse).ToList();
                        id_rutav = id_rutai.Max();
                        id_rutav++;

                        try
                        {
                            DET_AGENTECC u = new DET_AGENTECC();
                            version          = 1;
                            u.VERSION        = version;
                            u.USUARIOC_ID    = cadenaAutorizacion.USUARIOC_ID;
                            u.ID_RUTA_AGENTE = id_rutav + "";
                            ruta             = u.ID_RUTA_AGENTE;
                            u.USUARIOA_ID    = cadenaAutorizacion.USUARIOA_ID;
                            u.FECHAC         = DateTime.Now;

                            db.DET_AGENTECC.Add(u);
                            db.SaveChanges();
                        }
                        catch
                        {
                            error = true;
                        }
                    }
                }
                catch
                {
                    error = true;
                }
            }



            //Guardar el detalle en DET_AGENTECA
            try
            {
                if (!error)
                {
                    for (int j = 0; j < cadenaAutorizacion.LDET_ACA.Count; j++)
                    {
                        DET_AGENTECA ca = new DET_AGENTECA();

                        ca.ID_RUTA_AGENTE = ruta;
                        ca.VERSION        = version;
                        ca.STEP_FASE      = cadenaAutorizacion.LDET_ACA[j].STEP_FASE;
                        ca.STEP_ACCION    = 1;
                        ca.LIM_SUP        = 99999999999.00M;
                        ca.AGENTE_SIG     = cadenaAutorizacion.LDET_ACA[j].AGENTE_SIG;
                        try
                        {
                            db.DET_AGENTECA.Add(ca);
                            db.SaveChanges();
                        }
                        catch
                        {
                        }
                    }
                }
            }
            catch
            {
            }

            if (error)
            {
                ViewBag.Error = "Ocurrio un error al taratar de ingresar registro";
                int pagina = 673; //ID EN BASE DE DATOS
                FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller);
                CadenaAutorizacion obj = new CadenaAutorizacion();
                return(View(obj));
            }
            else
            {
                return(RedirectToAction("Details", new { VERSION = version, ID_RUTA_AGENTE = ruta }));
            }

            //var st = false;
            //var version = 1;
            //var ruta = cadenaAutorizacion.ID_RUTA_AGENTE;
            //string displayName = null;
            //var keyValue = db.DET_AGENTECC.FirstOrDefault(a => a.ID_RUTA_AGENTE == cadenaAutorizacion.ID_RUTA_AGENTE);

            //if (keyValue != null)
            //{
            //    var reg = db.DET_AGENTECC.Where(a => a.ID_RUTA_AGENTE == cadenaAutorizacion.ID_RUTA_AGENTE);
            //    version = reg.Count() + 1;
            //}
            //DateTime fechaR = DateTime.Today;



            //try
            //{
            //    DET_AGENTECC u = new DET_AGENTECC();
            //    u.VERSION = version;
            //    u.USUARIOC_ID = cadenaAutorizacion.USUARIOC_ID;
            //    u.ID_RUTA_AGENTE = cadenaAutorizacion.ID_RUTA_AGENTE;
            //    u.DESCRIPCION = "";
            //    u.FECHAC = fechaR;

            //    u.USUARIOA_ID = cadenaAutorizacion.USUARIOA_ID;

            //    db.DET_AGENTECC.Add(u);
            //    db.SaveChanges();

            //    DET_AGENTECA c = new DET_AGENTECA();
            //    c.ID_RUTA_AGENTE = cadenaAutorizacion.ID_RUTA_AGENTE;
            //    c.VERSION = version;
            //    c.STEP_FASE = 1;
            //    c.STEP_ACCION = 1;
            //    c.LIM_SUP = 99999999999;
            //    c.AGENTE_SIG = cadenaAutorizacion.USUARIOA_ID;

            //    db.DET_AGENTECA.Add(c);
            //    db.SaveChanges();

            //    return RedirectToAction("Details", new { VERSION = version, ID_RUTA_AGENTE = ruta });
            //    //return RedirectToAction("Index");
            //}
            //catch (Exception e)
            //{
            //    ViewBag.Error = "Ocurrio un error al taratar de ingresar registro";
            //    int pagina = 673; //ID EN BASE DE DATOS
            //    FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller);
            //    CadenaAutorizacion obj = new CadenaAutorizacion();
            //    return View(obj);
            //}
        }
示例#5
0
        //LEJGG 12-12-2018
        public string procesacoc(decimal num_doc) //MGC 29-10-2018 Configuración de estatus
        {
            bool            nextSol    = false;   ////MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario
            string          correcto   = String.Empty;
            WFARTHAEntities db         = new WFARTHAEntities();
            FLUJO           actual     = new FLUJO();
            string          recurrente = "";
            bool            emails     = false; //MGC 08-10-2018 Obtener los datos para el correo
            string          emailsto   = "";    //MGC 09-10-2018 Envío de correos

            if (true)                           //---------------------------NUEVO REGISTRO
            {
                DOCUMENTO d = db.DOCUMENTOes.Find(num_doc);

                //actual = db.FLUJOes.Where(fl => fl.NUM_DOC == num_doc).FirstOrDefault();//MGC 05-10-2018 Modificación para work flow al ser editada
                actual = db.FLUJOes.Where(a => a.NUM_DOC.Equals(d.NUM_DOC)).OrderByDescending(x => x.POS).FirstOrDefault();//MGC 05-10-2018 Modificación para work flow al ser editada


                //MGC 08-10-2018 Obtener los datos para el correo
                WORKFV wf = db.WORKFHs.Where(a => a.ID == actual.WORKF_ID).FirstOrDefault().WORKFVs.OrderByDescending(a => a.VERSION).FirstOrDefault();

                WORKFP wp    = wf.WORKFPs.Where(a => a.ID.Equals(actual.WORKF_ID) & a.VERSION.Equals(actual.WF_VERSION) & a.POS.Equals(actual.WF_POS)).OrderBy(a => a.POS).FirstOrDefault();
                string email = ""; //MGC 08-10-2018 Obtener el nombre del cliente
                email = wp.EMAIL;  //MGC 08-10-2018 Obtener el nombre del cliente

                if (email == "X")
                {
                    emails = true;
                }

                int step = 0;
                if (actual.STEP_AUTO == 0)
                {
                    //step = Convert.ToInt32(actual.STEP_AUTO) + 1;
                    step = Convert.ToInt32(actual.STEP_AUTO);//MGC 19-10-2018 Cambio a detonador
                }

                List <DET_AGENTECA> dap = db.DET_AGENTECA.Where(a => a.VERSION == actual.RUTA_VERSION && a.ID_RUTA_AGENTE == actual.ID_RUTA_A && a.STEP_FASE == step).OrderByDescending(a => a.VERSION).ToList();
                DET_AGENTECA        dah = new DET_AGENTECA();
                dah = detAgenteLimite(dap, Convert.ToDecimal(d.MONTO_DOC_MD), step, actual);//MGC 19-10-2018 Cambio a detonador


                WORKFP paso_a      = db.WORKFPs.Where(a => a.ID.Equals(actual.WORKF_ID) & a.VERSION.Equals(actual.WF_VERSION) & a.POS.Equals(actual.WF_POS)).FirstOrDefault();
                int    next_step_a = 0;
                if (paso_a.NEXT_STEP != null)
                {
                    next_step_a = (int)paso_a.NEXT_STEP;
                }

                WORKFP next = new WORKFP();
                if (recurrente != "X")
                {
                    next = db.WORKFPs.Where(a => a.ID.Equals(actual.WORKF_ID) & a.VERSION.Equals(actual.WF_VERSION) & a.POS == next_step_a).FirstOrDefault();
                }
                if (next.NEXT_STEP.Equals(99))//--------FIN DEL WORKFLOW
                {
                    d.ESTATUS_WF = "A";
                    if (paso_a.EMAIL != null)
                    {
                        if (paso_a.EMAIL.Equals("X"))
                        {
                            correcto = "2";
                        }
                    }
                }
                else
                {
                    //DOCUMENTO d = db.DOCUMENTOes.Find(actual.NUM_DOC);
                    FLUJO nuevo = new FLUJO();
                    nuevo.WORKF_ID   = next.ID;
                    nuevo.WF_VERSION = next.VERSION;
                    nuevo.WF_POS     = next.POS;
                    nuevo.NUM_DOC    = actual.NUM_DOC;
                    nuevo.POS        = actual.POS + 1;

                    //Agregar autorización MGC
                    nuevo.ID_RUTA_A    = actual.ID_RUTA_A;
                    nuevo.RUTA_VERSION = actual.RUTA_VERSION;

                    //MGC 11-12-2018 Agregar Contabilizador 0----------------->
                    nuevo.VERSIONC1 = actual.VERSIONC1;
                    nuevo.VERSIONC2 = actual.VERSIONC2;
                    //MGC 11-12-2018 Agregar Contabilizador 0-----------------<

                    if (next.ACCION.TIPO == "E")
                    {
                        nuevo.USUARIOA_ID = null;
                        nuevo.DETPOS      = 0;
                        nuevo.DETVER      = 0;
                    }
                    else
                    {
                        if (recurrente != "X")
                        {
                            //MGC 12-11-2018 Se guarda con normalidad
                            FLUJO detA = determinaAgenteI(d, actual.USUARIOA_ID, actual.USUARIOD_ID, 0, dah, step, actual);//MGC 19-10-2018 Cambio a detonador
                            nuevo.USUARIOA_ID = detA.USUARIOA_ID;
                            nuevo.USUARIOD_ID = nuevo.USUARIOA_ID;
                            nuevo.STEP_AUTO   = detA.STEP_AUTO;

                            //MGC 12-11-2018 Se obtiene el back up
                            DateTime fecha = DateTime.Now.Date;
                            DELEGAR  del   = db.DELEGARs.Where(a => a.USUARIO_ID.Equals(nuevo.USUARIOD_ID) & a.FECHAI <= fecha & a.FECHAF >= fecha & a.ACTIVO == true).FirstOrDefault();
                            if (del != null)
                            {
                                nuevo.USUARIOA_ID = del.USUARIOD_ID;
                            }
                            else
                            {
                                nuevo.USUARIOA_ID = nuevo.USUARIOD_ID;
                            }

                            nuevo.DETPOS = detA.DETPOS;
                            nuevo.DETVER = dah.VERSION;

                            //MGC 09-10-2018 Envío de correos
                            if (emails)
                            {
                                emails = true;

                                //MGC 09-10-2018 Envío de correos
                                //Obtener el email del creador
                                string emailc = "";
                                emailc   = db.USUARIOs.Where(us => us.ID == d.USUARIOC_ID).FirstOrDefault().EMAIL;
                                emailsto = emailc;
                                emailc   = "";

                                //Obtener el usuario aprobador
                                emailc    = db.USUARIOs.Where(us => us.ID == nuevo.USUARIOA_ID).FirstOrDefault().EMAIL;
                                emailsto += "," + emailc;

                                //Obtener el usuario del siguiente aprobador
                            }
                        }
                        else
                        {
                            nuevo.USUARIOA_ID = null;
                            nuevo.DETPOS      = 0;
                            nuevo.DETVER      = 0;
                        }
                    }
                    nuevo.ESTATUS = "P";
                    nuevo.FECHAC  = DateTime.Now;
                    nuevo.FECHAM  = DateTime.Now;
                    db.FLUJOes.Add(nuevo);
                    db.SaveChanges();//MGC 03-12-2018 Loop para firmas y obtener el más actual

                    if (paso_a.EMAIL != null)
                    {
                        if (paso_a.EMAIL.Equals("X"))
                        {
                            correcto = "1";
                        }
                    }

                    d.ESTATUS_WF      = "P";
                    d.ESTATUS         = "F";
                    db.Entry(d).State = EntityState.Modified;
                    db.SaveChanges();//MGC 03-12-2018 Loop para firmas y obtener el más actual

                    DOCUMENTO dmod = db.DOCUMENTOes.Find(num_doc);
                    dmod.ESTATUS_WF      = "P";
                    dmod.ESTATUS         = "F";
                    dmod.ESTATUS_SAP     = null;
                    dmod.ESTATUS_PRE     = "G";
                    db.Entry(dmod).State = EntityState.Modified;
                    db.SaveChanges();

                    //MGC 03-12-2018 Loop para firmas y obtener el más actual
                    //Actualizar el actual
                    actual.FECHAM          = DateTime.Now;
                    db.Entry(actual).State = EntityState.Modified;
                    db.SaveChanges();

                    //MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario-------------------------------------------------->
                    if (d.USUARIOC_ID == d.USUARIOD_ID)
                    {
                        nextSol = true;
                    }
                    //MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario--------------------------------------------------<

                    //MGC 30-10-2018 Agregar mensaje a log de modificación
                    try
                    {
                        DOCUMENTOLOG dl = new DOCUMENTOLOG();

                        dl.NUM_DOC   = d.NUM_DOC;
                        dl.TYPE_LINE = "M";
                        dl.TYPE      = "S";
                        dl.MESSAGE   = "Comienza el Proceso de Aprobación";
                        dl.FECHA     = DateTime.Now;

                        //db.DOCUMENTOLOGs.Add(dl);//MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario
                        //db.SaveChanges();//MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario
                    }
                    catch (Exception e)
                    {
                    }
                    //MGC 30-10-2018 Agregar mensaje a log de modificación

                    //MGC 16-10-2018 Eliminar msg
                    deleteMesg(d.NUM_DOC);
                }
            }

            //MGC 08-10-2018 Obtener los datos para el correo
            if (emails)
            {
                //Obtener el directorio desde la configuración


                //MGC 08-10-2018 Obtener los datos para el correo comentar provisional
                Email  em           = new Email();
                string UrlDirectory = getURLPortal();
                //string image = Server.MapPath("~/images/artha_logo.jpg");
                string image = System.Reflection.Assembly.GetExecutingAssembly().Location;
                string page  = "Index";
                try
                {
                    //MGC 11-10-2018 No enviar correos
                    em.enviaMailC(num_doc, true, "ES", UrlDirectory, page, image, emailsto);
                }
                catch (Exception)
                {
                }
            }

            //MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario-------------------------------------------------->
            //MGC 21-11-2018 correr el siguiente flujo cuando el creador y solicitante son el mismo usuario
            if (nextSol)
            {
                //Obtener el documento
                DOCUMENTO _doc = db.DOCUMENTOes.Find(num_doc);


                //Obtener el último flujo registrado
                FLUJO fa = new FLUJO();
                fa = db.FLUJOes.Where(a => a.NUM_DOC.Equals(_doc.NUM_DOC)).OrderByDescending(a => a.POS).FirstOrDefault();

                //Obtener las acciones
                FLUJO f = db.FLUJOes.Where(a => a.NUM_DOC.Equals(_doc.NUM_DOC) & a.ESTATUS.Equals("P")).FirstOrDefault();

                //Hacer las modificaciones necesarias el flujo para auto-aprobar
                if (_doc.ESTATUS_C != "C")
                {
                    if (f != null)
                    {
                        string accion = "";
                        accion = db.WORKFPs.Where(a => a.ID.Equals(f.WORKF_ID) & a.POS.Equals(f.WF_POS) & a.VERSION.Equals(f.WF_VERSION)).FirstOrDefault().ACCION.TIPO;

                        if (accion == "A")
                        {
                            //Modificación del flujo, simular
                            fa.ESTATUS    = "A";
                            fa.COMENTARIO = "Auto Aprobado";

                            Flujosprocesa(fa, _doc.USUARIOC_ID);
                        }
                    }
                }
            }
            //MGC 21-11-2018 Validar si el creador y el solicitante es el mismo usuario--------------------------------------------------<

            return(correcto);
        }