public bool Guardar()
    {
        Adjunto adj = new Adjunto();
        SolicitudAdjuntos solAdj = new SolicitudAdjuntos();

        if (sol == null)
        {
            sol = Solicitud.GetById(BiFactory.Sol.Id_Solicitud);
        }

        solAdj.IdSolicitud = sol.Id_Solicitud;

        long lMaxFileSize = 3000000;
        string sFileDir = Server.MapPath("~/upload/");

        if ((Request.Files[0] != null) && (Request.Files[0].ContentLength > 0))
        {
            //determine file name
            string OriginalName = System.IO.Path.GetFileName(Request.Files[0].FileName);
            string sFileName = string.Empty;
            try
            {
                if (Request.Files[0].ContentLength <= lMaxFileSize)
                {
                    //Save File on disk
                    sFileName = System.Guid.NewGuid().ToString();
                    Request.Files[0].SaveAs(sFileDir + sFileName);
                    //relacionar el adjunto
                    adj.PathFile = sFileDir + sFileName;
                    adj.Date = System.DateTime.Now;
                    adj.FileName = OriginalName;
                    adj.Size = Request.Files[0].ContentLength;
                    adj.ContentType = Request.Files[0].ContentType;
                    adj.Save();

                    solAdj.IdAdjunto = adj.IdAdjunto;
                    solAdj.Save();

                    lblMessage.Visible = true;
                    lblMessage.Text = "Se agrego el archivo correctamente.";
                }
                else //reject file
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "El tamaño del archivo supera el limite de " + lMaxFileSize;
                }
            }
            catch (Exception ee)//in case of an error
            {
                lblMessage.Visible = true;
                lblMessage.Text = ee.Message;
            }
        }
        FillAdjuntos();
        return true;
    }
Пример #2
0
        public ActionResult Create([Bind(Include = "id,folioSolicitud,clienteId,plazaId,fechaSolicitud,fechaBaja,esquemaId,sdiId,contratoId,fechaInicial,fechaFinal,tipoPersonalId,solicita,valida,autoriza,noTrabajadores,observaciones,estatusSolicitud,estatusNomina,estatusAfiliado,estatusJuridico,estatusTarjeta,usuarioId,proyectoId,fechaEnvio")] Solicitud solicitud)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario            = Session["usuarioData"] as Usuario;
                Cliente cliente            = db.Clientes.Find(solicitud.clienteId);
                ListaValidacionCliente lvc = cliente.ListaValidacionClientes.First();
                ToolsHelper            th  = new ToolsHelper();
                ParametrosHelper       ph  = new ParametrosHelper();

                Parametro folioBaja = ph.getParameterByKey("FOLSBAJA");

                Concepto concepto      = th.obtenerConceptoPorGrupo("ESTASOL", "apertura");
                Concepto tipoSolicitud = th.obtenerConceptoPorGrupo("SOLCON", "baja");


                solicitud.fechaSolicitud   = DateTime.Now;
                solicitud.usuarioId        = usuario.Id;
                solicitud.autoriza         = lvc.autorizador;
                solicitud.valida           = lvc.validador;
                solicitud.estatusSolicitud = concepto.id;
                solicitud.estatusNomina    = concepto.id;
                solicitud.estatusJuridico  = concepto.id;
                solicitud.estatusAfiliado  = concepto.id;
                solicitud.estatusTarjeta   = concepto.id;
                solicitud.Cliente          = cliente;
                solicitud.clienteId        = cliente.Id;
                solicitud.folioSolicitud   = "";
                solicitud.noTrabajadores   = 0;
                solicitud.tipoSolicitud    = tipoSolicitud.id;
                db.Solicituds.Add(solicitud);


                try
                {
                    db.SaveChanges();
                    solicitud.folioSolicitud = folioBaja.valorString.Trim().PadLeft(5, '0') + "B" + solicitud.Cliente.Plaza.cveCorta.Trim();
                    int folBaja = int.Parse(folioBaja.valorString.Trim());
                    folBaja = folBaja + 1;
                    folioBaja.valorString = folBaja.ToString();

                    db.Entry(folioBaja).State = EntityState.Modified;
                    db.Entry(solicitud).State = EntityState.Modified;
                    db.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    StringBuilder sb = new StringBuilder();

                    foreach (var failure in ex.EntityValidationErrors)
                    {
                        sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                        foreach (var error in failure.ValidationErrors)
                        {
                            sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                            sb.AppendLine();
                        }
                    }
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.clienteId        = new SelectList(db.Clientes, "Id", "claveCliente", solicitud.clienteId);
            ViewBag.estatusSolicitud = new SelectList(db.Conceptos, "id", "grupo", solicitud.estatusSolicitud);
            ViewBag.estatusNomina    = new SelectList(db.Conceptos, "id", "grupo", solicitud.estatusNomina);
            ViewBag.estatusJuridico  = new SelectList(db.Conceptos, "id", "grupo", solicitud.estatusJuridico);
            ViewBag.estatusAfiliado  = new SelectList(db.Conceptos, "id", "grupo", solicitud.estatusAfiliado);
            ViewBag.estatusTarjeta   = new SelectList(db.Conceptos, "id", "grupo", solicitud.estatusTarjeta);
            ViewBag.esquemaId        = new SelectList(db.EsquemasPagoes, "id", "descripcion", solicitud.esquemaId);
            ViewBag.plazaId          = new SelectList(db.Plazas, "id", "descripcion", solicitud.plazaId);
            ViewBag.proyectoId       = new SelectList(db.Proyectos, "id", "descripcion", solicitud.proyectoId);
            ViewBag.sdiId            = new SelectList(db.SDIs, "id", "descripcion", solicitud.sdiId);
            ViewBag.contratoId       = new SelectList(db.TipoContratoes, "id", "descripcion", solicitud.contratoId);
            ViewBag.tipoPersonalId   = new SelectList(db.TipoPersonals, "id", "descripcion", solicitud.tipoPersonalId);
            ViewBag.usuarioId        = new SelectList(db.Usuarios, "Id", "nombreUsuario", solicitud.usuarioId);
            return(View(solicitud));
        }
        public CrearSolicitudResponse Ejecutar(CrearSolicitudRequest request)
        {
            //Comprovar el estado del estudiante o empresa para ver si pueden solicitar
            if (string.IsNullOrEmpty(request.Tipo_Solicitante))
            {
                return(new CrearSolicitudResponse()
                {
                    Message = "Campo Tipo_Solicitante vacio"
                });
            }
            bool comprovarEstado;

            if (request.Tipo_Solicitante.Equals("Estudiante"))
            {
                var solicitante = _unitOfWork.EstudianteServiceRepository.FindFirstOrDefault(t => t.DocIdentidad == request.ID_Solicitante);
                if (solicitante == null)
                {
                    return(new CrearSolicitudResponse()
                    {
                        Message = "Solicitante no Encontrado"
                    });
                }
                comprovarEstado = this.ComprovarEstadoSolicitante(solicitante.Estado);
            }
            else
            {
                var solicitante = _unitOfWork.EmpresaServiceRepository.FindFirstOrDefault(t => t.Nit == request.ID_Solicitante);
                if (solicitante == null)
                {
                    return(new CrearSolicitudResponse()
                    {
                        Message = "Solicitante no Encontrado"
                    });
                }
                comprovarEstado = this.ComprovarEstadoSolicitante(solicitante.Estado);
            }

            if (comprovarEstado)
            {
                Solicitud newSolicitud = new Solicitud(request.Tipo, request.Fecha, request.ID_Solicitante, request.Tipo_Solicitante, request.Estado);
                var       errors       = newSolicitud.CanCrear();
                if (errors.Any())
                {
                    return new CrearSolicitudResponse()
                           {
                               Message = errors[0]
                           }
                }
                ;
                _unitOfWork.SolicitudServiceRepository.Add(newSolicitud);
                _unitOfWork.Commit();
                return(new CrearSolicitudResponse()
                {
                    Message = $"Solicitud Creada Exitosamente"
                });
            }
            else
            {
                return(new CrearSolicitudResponse()
                {
                    Message = $"Tu Estado no permite enviar solicitudes"
                });
            }
        }
                                                               public async Task <int> validarRechazoAdmin(Solicitud solicitudResult)
                                                               {
                                                                   var bitaresult = await _ctx.BitacoraSolicitudes.Where(e => e.SolicitudId == solicitudResult.SolicitudId)
                                                                                    .Where(e => e.EstadoFlujoId == 2 || e.EstadoFlujoId == 12).Where(e => e.idRol == 1).Where(e => e.Descripcion.Contains("Rechazado: "))
                                                                                    .AsNoTracking().FirstOrDefaultAsync();

                                                                   if (bitaresult != null)
                                                                   {
                                                                       return(1);
                                                                   }
                                                                   else
                                                                   {
                                                                       return(0);
                                                                   }
                                                               }
Пример #5
0
        public static async Task Process(IDialogContext context)
        {
            var activity = context.Activity as Activity;

            Sesion sesion = context.UserData.GetValue <Sesion>("sesion");

            context.UserData.SetValue("Usuario", sesion.Nombre);

            var container = new Container();

            UnityConfig.RegisterTypes(container);

            /* 4.1.4   El Sistema crea una nueva Solicitud Académica con los datos indicados líneas abajo
             *  en la entidad[GSAV_SolicitudAcadémica], generando un código único */

            Solicitud solicitud = new Solicitud();

            if (context.UserData.ContainsKey("solicitud"))
            {
                solicitud = LeerSolicitud(sesion, context, activity, container);

                if (solicitud.Estado != "P")
                {
                    solicitud = CrearNuevaSolicitud(sesion, context, activity, container);
                }
            }
            else
            {
                solicitud = CrearNuevaSolicitud(sesion, context, activity, container);
            }

            try
            {
                DialogEngine handler = container.GetInstance <DialogEngine>();

                Result receivedResult = await handler.GetSpeechAsync(activity, sesion, context);

                IIntencion intencionManager = container.GetInstance <IIntencion>();

                /*
                 * 4.1.5   El Sistema valida si existe una “Intención de Consulta” para la pregunta
                 * ingresada por el alumno a través del Agente de Procesamiento de Lenguaje Natural.
                 * GSAV _RN013 – Tipos de Consultas Académicas
                 */
                if (receivedResult.ExistIntent)
                {
                    /*
                     * 4.1.6   El Sistema valida si la “Intención de Consulta” obtenida tiene una probabilidad
                     * mayor o igual al 80 %.GSAV _RN018– Porcentaje para respuestas certera
                     */

                    var intentScore = receivedResult.Intents.FirstOrDefault().Score;

                    if (receivedResult.ExistValidIntent)
                    {
                        string    intent    = receivedResult.GetValidIntent();
                        Intencion intencion = intencionManager.ObtenerCategoria(intent);

                        context.UserData.SetValue("result", receivedResult);

                        if (string.IsNullOrEmpty(intencion.NombreBase))
                        {
                            intencion.NombreBase = intent;
                        }

                        context.UserData.SetValue("intencion", intencion);

                        if (!string.IsNullOrEmpty(intent))
                        {
                            string dfParams  = receivedResult.Intents[0].Parameters;
                            string dfContext = receivedResult.OutputContexts;
                            Dictionary <string, string> listParams = JsonConvert.DeserializeObject <Dictionary <string, string> >(dfParams);
                            string course     = string.Empty;
                            string assignment = string.Empty;
                            int    number     = 0;

                            if (listParams.Count > 0)
                            {
                                if (listParams.ContainsKey("Curso"))
                                {
                                    course = listParams["Curso"];
                                    context.UserData.SetValue("Curso", course);
                                }

                                if (listParams.ContainsKey("Tarea"))
                                {
                                    assignment = listParams["Tarea"];
                                    context.UserData.SetValue("Tarea", assignment);
                                }

                                if (listParams.ContainsKey("number"))
                                {
                                    int.TryParse(listParams["number"], out number);
                                    context.UserData.SetValue("number", number);
                                }
                            }

                            var message = context.MakeMessage();

                            switch (intencion.NombreBase)
                            {
                            case "ActividadAcademica":
                                message.Text = $"Esta es una consulta de: {intent}";

                                context.PrivateConversationData.SetValue("custom", message.Text);

                                await context.PostAsync(message);

                                await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.ATENDIDO);

                                context.Wait(MenuDialog.MessageReceivedAsync);
                                break;

                            case AppConstant.Intencion.PROGRAMACION:

                                if (receivedResult.Intents[0].AllRequiredParamsPresent)
                                {
                                    string fechaActividad = string.Empty;
                                    int    numberSelected = context.UserData.GetValue <int>("number");

                                    var actividadManager = container.GetInstance <IActividad>();

                                    List <ActivitiesByCourseViewModel> activities = actividadManager.GetActivitiesByCourse(solicitud.IdAlumno);

                                    var filtered = activities.Where(o => o.Curso == course && o.Actividad == assignment);

                                    ActivitiesByCourseViewModel a = new ActivitiesByCourseViewModel();

                                    if (filtered.Count() == 0)
                                    {
                                        //context.Call(new NoRespuestaDialog(), MenuDialog.ResumeAfterDerivedAcademicIntent);

                                        await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.DERIVADA);

                                        context.Wait(MenuDialog.MessageReceivedAsync);

                                        return;
                                    }

                                    if (numberSelected > 0)
                                    {
                                        a = filtered.Where(o => o.NumeroActividad == numberSelected).FirstOrDefault();

                                        fechaActividad = a?.FechaActividad.ToString("dd MMMM yyyy");
                                    }
                                    else
                                    {
                                        a = filtered.Where(o => o.FechaActividad >= DateTime.Now).FirstOrDefault();

                                        fechaActividad = a?.FechaActividad.ToString("dd MMMM yyyy");
                                    }

                                    if (a == null)
                                    {
                                        a = new ActivitiesByCourseViewModel();
                                    }

                                    context.UserData.SetValue("Actividad", a);


                                    if (!string.IsNullOrEmpty(fechaActividad))
                                    {
                                        if (string.IsNullOrEmpty(receivedResult.Speech))
                                        {
                                            string tareaConNumero = assignment;

                                            if (number > 0)
                                            {
                                                tareaConNumero = $"{assignment} {number}";
                                            }

                                            receivedResult.Speech = $"La fecha de actividad de la {tareaConNumero} del Curso {course} es: {fechaActividad}";
                                        }
                                        else
                                        {
                                            receivedResult.Speech = receivedResult.Speech + " " + fechaActividad;
                                        }


                                        context.UserData.SetValue("result", receivedResult);

                                        await context.PostAsync(receivedResult.Speech);

                                        //await context.Forward(new MenuDialog(), MenuDialog.ResumeAfterSuccessAcademicIntent, context, CancellationToken.None);
                                        //context.Wait(MenuDialog.ResumeAfterSuccessAcademicIntent);
                                        //context.Call(new MenuDialog(), MenuDialog.ResumeAfterSuccessAcademicIntent);

                                        await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.ATENDIDO);

                                        context.Wait(MenuDialog.MessageReceivedAsync);
                                    }
                                    else
                                    {
                                        //context.Wait(MenuDialog.ResumeAfterFailedAcademicIntent);
                                        //await context.PostAsync(receivedResult.Speech);
                                        await context.PostAsync("La información ingresada es invalida, ingrese nuevamente su consulta");

                                        //context.Call(new NoRespuestaDialog(), MenuDialog.ResumeAfterDerivedAcademicIntent);

                                        //await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.FALTAINFORMACION);

                                        //context.Wait(MenuDialog.MessageReceivedAsync);

                                        //context.Call(new ProgramacionActividadesDialog(), MenuDialog.ResumeAfterSuccessAcademicIntent);

                                        await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.INVALIDO);

                                        context.Wait(MenuDialog.MessageReceivedAsync);
                                    }
                                }
                                else
                                {
                                    if (string.IsNullOrEmpty(course))
                                    {
                                        var cursoManager = container.GetInstance <ICurso>();

                                        List <CourseByModuleViewModel> studentActiveCourses = cursoManager.GetCourseByModuleActive(solicitud.IdAlumno);

                                        var questions = studentActiveCourses.Select(x => x.Curso).ToList();;

                                        string QuestionPrompt     = "Por favor seleccione el curso?";
                                        string invalidCourseInput = "La información ingresada es invalida, ingrese nuevamente su consulta";

                                        PromptOptions <string> options = new PromptOptions <string>(QuestionPrompt, "", invalidCourseInput, questions, 0);   // Overrided the PromptOptions Constructor.
                                        PromptDialog.Choice(context, MenuDialog.OnCourseSelected, options);
                                    }
                                    else
                                    {
                                        await context.PostAsync(receivedResult.Speech);
                                    }

                                    context.Wait(MenuDialog.MessageReceivedAsync);
                                }

                                break;

                            case AppConstant.Intencion.CREDITOSCUSTOM:
                                if (receivedResult.Intents[0].AllRequiredParamsPresent)
                                {
                                    var actividadManager = container.GetInstance <IActividad>();

                                    List <ActivitiesByCourseViewModel> activities = actividadManager.GetActivitiesByCourse(solicitud.IdAlumno);

                                    var filtered = activities.Where(o => o.Curso == course);


                                    await context.PostAsync(receivedResult.Speech + " " + 0);

                                    //context.Wait(MenuDialog.ResumeAfterSuccessAcademicIntent);
                                    //context.Call(new MenuDialog(), MenuDialog.ResumeAfterSuccessAcademicIntent);
                                    context.Wait(MenuDialog.MessageReceivedAsync);
                                }
                                else
                                {
                                    if (string.IsNullOrEmpty(course))
                                    {
                                        var cursoManager = container.GetInstance <ICurso>();

                                        List <CourseByModuleViewModel> studentActiveCourses = cursoManager.GetCourseByModuleActive(solicitud.IdAlumno);

                                        var questions = studentActiveCourses.Select(x => x.Curso).ToList();;

                                        string QuestionPrompt     = "Por favor seleccione el curso?";
                                        string invalidCourseInput = "La información ingresada es invalida, ingrese nuevamente su consulta";

                                        PromptOptions <string> options = new PromptOptions <string>(QuestionPrompt, "", invalidCourseInput, questions, 0);   // Overrided the PromptOptions Constructor.
                                        PromptDialog.Choice(context, MenuDialog.OnCourseSelected, options);
                                    }
                                    else
                                    {
                                        await context.PostAsync(receivedResult.Speech);
                                    }

                                    context.Wait(MenuDialog.MessageReceivedAsync);
                                }

                                break;

                            case AppConstant.Intencion.CREDITOS:
                            case AppConstant.Intencion.ORGANIZACION:
                            case AppConstant.Intencion.CALENDARIO:
                                //case "OrganizacionAulaVirtual1":
                                //context.Call(new CalendarioDialog(), ResumeAfterSuccessAcademicIntent);
                                message      = context.MakeMessage();
                                message.Text = $"Esta es una consulta de: {intent}";

                                //receivedResult.Speech = message.Text;
                                context.PrivateConversationData.SetValue("custom", message.Text);

                                await context.PostAsync(message);

                                //context.Wait(MenuDialog.MessageReceivedAsync);
                                //context.Call(new MenuDialog(), ResumeAfterSuccessAcademicIntent);
                                //context.Wait(MenuDialog.ResumeAfterSuccessAcademicIntent);
                                //context.Call(new MenuDialog(), MenuDialog.ResumeAfterSuccessAcademicIntent);

                                await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.ATENDIDO);

                                context.Wait(MenuDialog.MessageReceivedAsync);
                                break;

                            //case AppConstant.Intencion.ORGANIZACION:
                            //    context.Call(new OrganizacionDialog(), ResumeAfterSuccessAcademicIntent);
                            //    break;

                            case AppConstant.Intencion.MATRICULA:
                            case AppConstant.Intencion.ASISTENCIA:
                            case AppConstant.Intencion.RETIRO:
                            case AppConstant.Intencion.PROMEDIO:
                                //context.Call(new PreguntasFrecuentesDialog(), MenuDialog.ResumeAfterSuccessAcademicIntent);

                                //if (receivedResult.Speech.Equals(string.Empty))
                                //{
                                //    receivedResult.Speech = "Por favor, canalice su consulta vía Contacto UPC: http://www.upc.edu.pe/servicios/contacto-upc";
                                //}

                                await context.PostAsync(receivedResult.Speech);

                                await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.ATENDIDO);

                                context.Wait(MenuDialog.MessageReceivedAsync);

                                break;

                            //case AppConstant.Intencion.CREDITOS:
                            //    context.Call(new CreditosDialog(), ResumeAfterSuccessAcademicIntent);
                            //    break;
                            case AppConstant.Intencion.DEFAULT:

                                if (receivedResult.Speech.Equals(string.Empty))
                                {
                                    receivedResult.Speech = "Por favor, canalice su consulta vía Contacto UPC: http://www.upc.edu.pe/servicios/contacto-upc";
                                }

                                await context.PostAsync(receivedResult.Speech);

                                await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.INVALIDO);

                                context.Wait(MenuDialog.MessageReceivedAsync);

                                //context.Call(new NoRespuestaDialog(), MenuDialog.ResumeAfterFailedAcademicIntent);
                                break;


                            default:
                                //context.Call(new NoRespuestaDialog(), MenuDialog.ResumeAfterDerivedAcademicIntent);

                                await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.DERIVADA);

                                context.Wait(MenuDialog.MessageReceivedAsync);
                                break;
                            }
                        }
                        else
                        {
                            var userName = context.UserData.GetValue <Sesion>("sesion").Nombre;
                            var message  = context.MakeMessage();
                            message.Text = $"Uhmmm... {userName} estoy entrenándome para ayudarte más adelante con este tipo de dudas.{Environment.NewLine} Pero recuerda que vía Contacto UPC:  http://www.upc.edu.pe/servicios/contacto-upc puedes resolver tus dudas o consultas.";

                            context.PrivateConversationData.SetValue("custom", message.Text);

                            await context.PostAsync(message);

                            await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.INVALIDO);

                            //context.Wait(MenuDialog.ResumeGetAcademicIntent);
                            context.Wait(MenuDialog.MessageReceivedAsync);
                        }
                    }
                    else
                    {
                        //ExistValidIntent = false

                        //context.Call(new SinScoreDialog(), MenuDialog.ResumeAfterDerivedAcademicIntent);

                        var userName = context.UserData.GetValue <Sesion>("sesion").NombreApePaterno;

                        var message = context.MakeMessage();
                        message.Text = $"Uhmmm... {userName} estoy entrenándome para ayudarte más adelante con este tipo de dudas.{Environment.NewLine} Pero recuerda que vía Contacto UPC:  http://www.upc.edu.pe/servicios/contacto-upc puedes resolver tus dudas o consultas.";

                        context.PrivateConversationData.SetValue("custom", message.Text);

                        await context.PostAsync(message);

                        //context.Call(new MenuDialog(), MenuDialog.ResumeAfterUnknownAcademicIntent);
                        await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.INVALIDO);

                        context.Wait(MenuDialog.MessageReceivedAsync);
                    }
                }
                else
                { //ExistIntent = false
                  //await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.INVALIDO);
                  //context.Call(new SinScoreDialog(), MenuDialog.ResumeAfterUnknownAcademicIntent);
                    var userName = context.UserData.GetValue <Sesion>("sesion").NombreApePaterno;

                    string sinScoreDialogSpeech =
                        $"Uhmmm... {userName} estoy entrenándome para ayudarte más adelante con este tipo de dudas.{Environment.NewLine}. Pero recuerda que vía Contacto UPC: http://www.upc.edu.pe/servicios/contacto-upc puedes resolver tus dudas o consultas";

                    await context.PostAsync(sinScoreDialogSpeech);

                    //context.Call(new MenuDialog(), MenuDialog.ResumeAfterUnknownAcademicIntent);

                    await ActualizarSolicitud(context, AppConstant.EstadoSolicitud.INVALIDO);

                    context.Wait(MenuDialog.MessageReceivedAsync);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                BaseData.LogError(ex);
            }
        }
 public BuscarSolicitudResponse(Solicitud solicitud)
 {
     Error     = false;
     Solicitud = solicitud;
 }
Пример #7
0
 public ActionResult Put([FromBody] Solicitud solicitud)
 {
     return(Ok(
                solicitudService.Update(solicitud)
                ));
 }
        protected void btnAltaSolicitud_Click(object sender, EventArgs e)
        {
            try
            {
                Empleado emp           = (Empleado)Session["Usuario"];
                Tramite  tramite       = (Tramite)Session["Tramite"];
                string   nombreTramite = tramite.Nombre;
                double   hora          = 0;
                double   minuto        = 0;
                //Chequear si el formato hora es correcto
                int  _error = 0;
                bool reshor;
                int  a;
                reshor = int.TryParse(txtHora.Text, out a);
                if (txtHora.Text.Length != 2 || !reshor)
                {
                    _error += 1;
                }
                else
                {
                    hora = Convert.ToDouble(txtHora.Text);

                    if (hora < 0 || hora > 23)
                    {
                        _error += 1;
                    }
                }
                //Chequear si el formato minuto es correcto
                bool resmin;
                int  b;
                resmin = int.TryParse(txtMinuto.Text, out b);
                if (txtMinuto.Text.Length != 2 || !resmin)
                {
                    _error += 1;
                }
                else
                {
                    minuto = Convert.ToDouble(txtMinuto.Text);

                    if (minuto < 0 || minuto > 59)
                    {
                        _error += 1;
                    }
                }

                if (_error > 0)
                {
                    throw new Exception("Formato de hora ingresado incorrecto");
                }

                DateTime fechahora = (DateTime)Session["FechaHora"];

                if (hora != 0)
                {
                    fechahora.AddHours(hora);
                }

                if (minuto != 0)
                {
                    fechahora.AddMinutes(minuto);
                }

                string estado            = "Alta";
                string nombreSolicitante = txtNombreSolicitante.Text;

                Solicitud solicitud = new Solicitud(0, emp, tramite, fechahora, nombreSolicitante, estado);
                sergessol.altaSolicitud(solicitud);
                lblMensaje.Text              = "Alta de solicitud realizada con éxito";
                cldFechaHora.Visible         = false;
                lblNombreSolicitante.Visible = false;
                txtNombreSolicitante.Visible = false;
                btnAltaSolicitud.Visible     = false;
                lblExplicacionHora.Visible   = false;
                txtHora.Visible              = false;
                txtMinuto.Visible            = false;
                Session["FechaHora"]         = null;
                Session["Tramite"]           = null;
            }
            catch (Exception ex)
            {
                lblMensaje.Text = ex.Message;
            }
        }
Пример #9
0
 public int EditarSolicitud(Solicitud os)
 {
     return(so.EditarSolicitud(os));
 }
Пример #10
0
 public int insertarSolicitud(Solicitud os)
 {
     return(so.insertarSolicitud(os));
 }
Пример #11
0
        public IActionResult AgregarAdministrador(string reg_id, string admin_mail)
        {
            User usuario  = HttpContext.Session.Get <User>("UsuarioLogueado");
            bool sameMail = false;

            if (admin_mail == usuario.Mail)
            {
                sameMail = true;
            }
            User newAdmin = db.Users.FirstOrDefault(u => u.Mail == admin_mail);

            if (usuario != null && newAdmin != null && !sameMail)
            {
                int      registro_id = JsonConvert.DeserializeObject <int>(reg_id);
                Registro registro    = db.Registros.FirstOrDefault(r => r.ID == registro_id && r.CreadorID == usuario.ID);
                if (registro != null)
                {
                    Solicitud solicitud = new Solicitud()
                    {
                        From       = usuario.ID,
                        FromName   = usuario.UserName,
                        To         = newAdmin.ID,
                        ToName     = newAdmin.UserName,
                        RelatedReg = registro_id,
                        Action     = "AddAdmin"
                    };

                    Solicitud copia = db.Solicitudes.FirstOrDefault(s => s.From == solicitud.From && s.To == solicitud.To && s.Action == solicitud.Action && s.RelatedReg == solicitud.RelatedReg);

                    if (copia == null)
                    {
                        db.Solicitudes.Add(solicitud);
                        db.SaveChanges();
                        ViewBag.AddAdmin = true;
                    }
                    else
                    {
                        ViewBag.AddAdmin = false;
                    }
                    ViewBag.newAdmin = admin_mail;
                }
                else
                {
                    ViewBag.NoReg = false;
                }

                return(VistaLogueado(usuario.ID, usuario.UserName));
            }
            else
            {
                if (usuario == null)
                {
                    return(View("Index"));
                }
                else
                {
                    if (sameMail)
                    {
                        ViewBag.autoAdmin = true;
                    }
                    if (newAdmin == null)
                    {
                        ViewBag.NoMail = true;
                    }
                    return(VistaLogueado(usuario.ID, usuario.UserName));
                }
            }
        }
 public SolicitudRegistrarDispositivos(Solicitud solicitud)
 {
     TipoSolicitud = solicitud;
 }
Пример #13
0
 public int editarSolicitud(Solicitud solicit)
 {
     return(datos_solicitud.editarSolicitud(solicit));
 }
Пример #14
0
 public int insertarSolicitud(Solicitud solicit)
 {
     return(datos_solicitud.insertarSolicitud(solicit));
 }
    public static string TestQTCNDrupal(string solicitante, string password, string t513_idlinea)
    {
        //Llamada a servicio REST
        var client = new SUPER.BLL.RestClient();

        #region Metodos GET
        //client.Method = HttpVerb.GET;
        //Obtener paises
        //client.EndPoint = @"http://mk17706.intranet.ibermatica/IBSERVICES/QTCNDrupal/QTCN.svc/QTCNObtenerPaises?solicitante=" + solicitante + "&password="******"http://mk17706.intranet.ibermatica/IBSERVICES/QTCNDrupal/QTCN.svc/QTCNObtenerProvincias?solicitante=" + solicitante + "&password="******"&t172_idpais=1";
        //Obtener Líneas
        //client.EndPoint = @"http://mk17706.intranet.ibermatica/IBSERVICES/QTCNDrupal/QTCN.svc/QTCNObtenerLineas?solicitante=" + solicitante + "&password="******"&columna=0&orden=0";
        //Obtener datos línea
        //client.EndPoint = @"http://mk17706.intranet.ibermatica/IBSERVICES/QTCNDrupal/QTCN.svc/QTCNObtenerDatosLinea?solicitante=" + solicitante + "&password="******"&t513_idlinea=8707";
        #endregion

        #region Métodos POST
        client.Method = HttpVerb.POST;
        //Prueba
        //client.EndPoint = @"http://mk17706.intranet.ibermatica/IBSERVICES/QTCNDrupal/QTCN.svc/Prueba";
        //QTCNRegistrarInscripcionOferta
        client.EndPoint = @"http://mk17706.intranet.ibermatica/IBSERVICES/QTCNDrupal/QTCN.svc/QTCNRegistrarInscripcionOferta";

        #region Pruebas
        //string sexo = "V";//M
        //string sNom = "MIKEL", sAp1 = "ARIZTEGUI", sAp2 = "HUARTE", sPais="66", sProv="20", sTfno="12346789";
        //string sEmail = "*****@*****.**", sFNac="20/10/1966", sNif="72667667H", sObs="camión ñandú";
        //string sOrigen = "1";//Amigo
        //string sExt = "doc";//, t2_iddocumento="";
        //byte[] data=null;

        //string candidato = @"{""t500_sexo"":""" + sexo + @"""";
        //candidato += @",""t500_nombre"":""" + sNom + @"""";
        //candidato += @",""t500_apellido1"":""" + sAp1 + @"""";
        //candidato += @",""t500_apellido2"":""" + sAp2 + @"""";
        //candidato += @",""t172_idpais"":""" + sPais + @"""";
        //candidato += @",""t173_idprovincia"":""" + sProv + @"""";
        //candidato += @",""t500_telefono"":""" + sTfno + @"""";
        //candidato += @",""t500_email"":""" + sEmail + @"""";
        //candidato += @",""t500_fecnacim"":""" + sFNac + @"""";
        //candidato += @",""t500_nif"":""" + sNif + @"""";
        //candidato += @",""t500_observa"":""" + sObs + @"""";
        //candidato += @",""t530_idorigen"":""" + sOrigen + @"""";
        //candidato += @",""t500_newpais"":""" + sPais + @"""";
        //candidato += @",""t500_newprovincia"":""" + sProv + @"""";
        //candidato += @",""ext"":""" + sExt + @"""";
        //if (data == null)
        //    candidato += @",""cv"":""""";
        //else
        //    candidato += @",""cv"":""" + Convert.ToBase64String(data) + @"""";
        //candidato += @"}";

        //string sParam = @"{""solicitante"":""" + solicitante + @"""";
        //sParam += @",""password"":""" + password + @"""";
        //sParam += @",""t513_idlinea"":""" + t513_idlinea + @"""";
        //candidato = "MIKEL";
        //sParam += @",""candidato"":""" + precandidato + @"""";
        //sParam += @"}";
        //string pedido = "1", code="2";

        //string sParam = @"{""solicitante"":""" + solicitante + @"""";
        //sParam += @",""password"":""" + password + @"""";
        //sParam += @",""t513_idlinea"":""" + t513_idlinea + @"""";
        //sParam += @",""candidato"":" + candidato + @"";
        //sParam += @"}";
        #endregion

        //string sPathDoc = "d:\\Docs\\_FicheroPruebaQTCN.txt";
        string sPathDoc = "d:\\Docs\\Gordos\\Doc_5Mb.doc";

        byte[] oCV           = System.IO.File.ReadAllBytes(sPathDoc);
        string temp_inBase64 = Convert.ToBase64String(oCV);

        Candidato oCandidato = new Candidato();
        oCandidato.t500_sexo      = "V";
        oCandidato.t500_nombre    = "MIKEL";
        oCandidato.t500_apellido1 = "ARIZTEGUI";
        oCandidato.t500_apellido2 = "HUARTE";
        oCandidato.t500_nif       = "73667667H";
        oCandidato.t500_telefono  = "123465789";
        oCandidato.t500_email     = "*****@*****.**";
        DateTime dt = new DateTime(1966, 10, 20);
        oCandidato.t500_fecnacim    = dt;
        oCandidato.t500_nif         = "72789456X";
        oCandidato.t500_observa     = "observaciones";
        oCandidato.t530_idorigen    = 1;
        oCandidato.t172_idpais      = 1;
        oCandidato.t173_idprovincia = 20;
        //oCandidato.t500_newpais = "";
        //oCandidato.t500_newprovincia = "";
        oCandidato.extension = "doc";
        oCandidato.cv        = temp_inBase64;

        Solicitud oSolicitud = new Solicitud();
        oSolicitud.solicitante  = solicitante;
        oSolicitud.password     = password;
        oSolicitud.t513_idlinea = t513_idlinea;
        oSolicitud.candidato    = JsonConvert.SerializeObject(oCandidato);

        string sParam = JsonConvert.SerializeObject(oSolicitud);
        client.PostData = sParam;
        #endregion

        var json = client.MakeRequest();

        return(json);
    }
Пример #16
0
    private void GuardarCalidad()
    {
        Adjunto adj = new Adjunto();
        SolicitudAdjuntos solAdj = new SolicitudAdjuntos();

        if (sol == null)
        {
            sol = Solicitud.GetById(BiFactory.Sol.Id_Solicitud);
        }

        solAdj.IdSolicitud = sol.Id_Solicitud;

        long lMaxFileSize = 3000000;
        string sFileDir = Server.MapPath("~/Archivos_Calidad/Uploads/" + DateTime.Now.Year.ToString() + "/");
        if (!Directory.Exists(sFileDir))
        {
            Directory.CreateDirectory(sFileDir);
        }

        if ((Request.Files[0] != null) && (Request.Files[0].ContentLength > 0))
        {
            //determine file name
            string OriginalName = System.IO.Path.GetFileName(Request.Files[0].FileName);

            try
            {
                if (!File.Exists(sFileDir + Request.Files[0].FileName))
                {
                    if ((Request.Files[0].ContentLength <= lMaxFileSize))
                    {
                        //Save File on disk
                        //sFileName = System.Guid.NewGuid().ToString();
                        Request.Files[0].SaveAs(sFileDir + OriginalName);
                        //relacionar el adjunto
                        adj.PathFile = sFileDir + OriginalName;
                        adj.Date = System.DateTime.Now;
                        adj.FileName = OriginalName;
                        adj.Size = Request.Files[0].ContentLength;
                        adj.ContentType = Request.Files[0].ContentType;
                        adj.Calidad = true;
                        adj.Save();

                        solAdj.IdAdjunto = adj.IdAdjunto;
                        solAdj.Save();

                        lblMessage.Visible = true;
                        lblMessage.Text = "El Archivo se adjunto Correctamente.";
                    }
                    else //reject file
                    {
                        lblMessage.Visible = true;
                        lblMessage.Text = "El tamaño del archivo supera el limite de " + lMaxFileSize;
                    }
                }
                else
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "El archivo " + OriginalName + " ya existe ";

                }

            }
            catch (Exception ee)//in case of an error
            {
                lblMessage.Visible = true;
                lblMessage.Text = ee.Message;
            }
        }
        FillAdjuntos();
    }
 public SolicitudPanelInicioSesion(Solicitud solicitud)
 {
     TipoSolicitud = solicitud;
 }
Пример #18
0
 public bool Insertar(Solicitud t)
 {
     return(repositorioSolicitud.Insertar(t));
 }
Пример #19
0
 public ActionResult Post([FromBody] Solicitud solicitud)
 {
     return(Ok(
                solicitudService.Save(solicitud)
                ));
 }
Пример #20
0
 public bool Actualizar(Solicitud t)
 {
     return(repositorioSolicitud.Actualizar(t));
 }
 public ActualizarSolicitudResponse(Solicitud solicitud)
 {
     Solicitud = solicitud;
     Error     = false;
 }
 public SolicitudPanelPrestamos(Solicitud solicitud)
 {
     TipoSolicitud = solicitud;
 }
 public GuardarSolicitudResponse(Solicitud solicitud)
 {
     Error     = false;
     Solicitud = solicitud;
 }
 public SolicitudPanelPrestamos(Solicitud solicitud, string tipoPrestamo)
 {
     TipoSolicitud = solicitud;
     TipoPrestamo  = tipoPrestamo;
 }
Пример #25
0
        public static async Task ActualizarSolicitud(IDialogContext context, string estado)
        {
            try
            {
                var container = new Container();
                UnityConfig.RegisterTypes(container);

                var       solicitudManager = container.GetInstance <ISolicitud>();
                Solicitud solicitud        = context.UserData.GetValueOrDefault <Solicitud>("solicitud");
                Sesion    sesion           = context.UserData.GetValue <Sesion>("sesion");
                string    curso            = context.UserData.GetValue <string>("Curso");
                string    userName         = sesion.CodigoAlumno;

                Result receivedResult;
                context.UserData.TryGetValue("result", out receivedResult);

                Intencion intent;
                context.UserData.TryGetValue("intencion", out intent);

                ActivitiesByCourseViewModel actividad;
                context.UserData.TryGetValue("Actividad", out actividad);

                if (solicitud != null)
                {
                    long?intentId = null;

                    if (intent != null)
                    {
                        intentId = intent.IdIntencion;
                    }

                    var cursoManager = container.GetInstance <ICurso>();

                    List <CourseByModuleViewModel> studentActiveCourses = cursoManager.GetCourseByModuleActive(solicitud.IdAlumno);

                    CourseByModuleViewModel docenteCurso = studentActiveCourses.Where(s => s.Curso == curso).FirstOrDefault();

                    var respuestaPersonalizada = context.PrivateConversationData.GetValueOrDefault("custom", string.Empty);
                    var solucion = respuestaPersonalizada.Equals(string.Empty) ? receivedResult?.Speech : respuestaPersonalizada;

                    //await context.PostAsync(solucion);

                    int?idActividad  = actividad?.IdActividad;
                    int?idEmpleado   = docenteCurso?.IdEmpleado;
                    int?cumpleSLA    = 2;
                    var tipoConsulta = context.UserData.GetValue <string>("tipo-consulta");

                    var dif = ConvertidorUtil.GmtToPacific(DateTime.Now).Subtract(solicitud.FechaRegistro).TotalHours;

                    if (tipoConsulta == "1" && dif <= 48)
                    {
                        cumpleSLA = 1;
                    }
                    else
                    {
                        if (dif <= 24)
                        {
                            cumpleSLA = 1;
                        }
                    }


                    bool IsEmailSent = false;

                    DateTime?fechaSolucion = null;

                    switch (estado)
                    {
                    case "A":
                        fechaSolucion = ConvertidorUtil.GmtToPacific(DateTime.Now);
                        break;

                    case "D":

                        solucion  = string.Empty;
                        cumpleSLA = 0;

                        if (!string.IsNullOrEmpty(docenteCurso?.Email))
                        {
                            IsEmailSent = await SmtpEmailSender.SendEmailAsync("*****@*****.**",
                                                                               docenteCurso.Email,
                                                                               "UPECITO - Consultas Académicas No Resueltas",
                                                                               EmailTeacher(sesion.CodigoAlumno, sesion.NombreApePaterno, solicitud.Consulta));
                        }

                        if (IsEmailSent)
                        {
                            await context.PostAsync($"Su consulta ha sido derivada al Docente: {docenteCurso.Nombre} {docenteCurso.ApellidoPat}; quien le brindará una respuesta");
                        }
                        else
                        {
                            await context.PostAsync(receivedResult.Speech);
                        }

                        break;

                    default:
                        solucion  = string.Empty;
                        cumpleSLA = 0;

                        break;
                    }

                    solicitudManager.Actualizar(solicitud.IdSolicitud, intentId, solucion, estado, userName, docenteCurso?.IdCurso, idActividad, idEmpleado, cumpleSLA, fechaSolucion);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Пример #26
0
 public int Guardar(Solicitud solicitud)
 {
     solicitud.Id = ++id;
     lsolicitudes.Add(solicitud);
     return(solicitud.Id);
 }
Пример #27
0
        private void buttonGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (buttonGuardar.Text == "Guardar")
                {
                    Solicitud objetoSolicitud = new Solicitud();
                    objetoSolicitud.aula           = textBoxAula.Text;
                    objetoSolicitud.nivel          = textBoxNivel.Text;
                    objetoSolicitud.fechasolicitud = Convert.ToDateTime(dateTimePickerFechaSol.Text);
                    objetoSolicitud.fechauso       = Convert.ToDateTime(dateTimePickerFechaUso.Text);
                    objetoSolicitud.horainicio     = Convert.ToDateTime(dateTimePickerHoraInicio.Text);
                    objetoSolicitud.horafinal      = Convert.ToDateTime(dateTimePickerHoraFinal.Text);
                    objetoSolicitud.carrera        = textBoxCarrera.Text;
                    objetoSolicitud.asignatura     = textBoxAsignatura.Text;
                    objetoSolicitud.idrecursos     = Convert.ToInt32(comboBoxIdRecursos.SelectedValue.ToString());
                    objetoSolicitud.idusuario      = Convert.ToInt32(comboBoxIdUsuario.SelectedValue.ToString());

                    if (logicaNS.insertarSolicitud(objetoSolicitud) > 0)
                    {
                        MessageBox.Show("Agregado con éxito");
                        dataGridViewSolicitud.DataSource = logicaNS.listarSolicitud();
                        textBoxAula.Text              = "";
                        textBoxNivel.Text             = "";
                        dateTimePickerFechaSol.Text   = "";
                        dateTimePickerFechaUso.Text   = "";
                        dateTimePickerHoraInicio.Text = "";
                        dateTimePickerHoraFinal.Text  = "";
                        textBoxCarrera.Text           = "";
                        textBoxAsignatura.Text        = "";
                        comboBoxIdRecursos.Text       = "";
                        comboBoxIdUsuario.Text        = "";

                        tabSolicitud.SelectedTab = tabPage2;
                    }
                    else
                    {
                        MessageBox.Show("Error al agregar solicitud");
                    }
                }

                if (buttonGuardar.Text == "Actualizar")
                {
                    Solicitud objetoSolicitud = new Solicitud();
                    objetoSolicitud.idsolicitud    = Convert.ToInt32(textBoxId.Text);
                    objetoSolicitud.aula           = textBoxAula.Text;
                    objetoSolicitud.nivel          = textBoxNivel.Text;
                    objetoSolicitud.fechasolicitud = Convert.ToDateTime(dateTimePickerFechaSol.Text);
                    objetoSolicitud.fechauso       = Convert.ToDateTime(dateTimePickerFechaUso.Text);
                    objetoSolicitud.horainicio     = Convert.ToDateTime(dateTimePickerHoraInicio.Text);
                    objetoSolicitud.horafinal      = Convert.ToDateTime(dateTimePickerHoraFinal.Text);
                    objetoSolicitud.carrera        = textBoxCarrera.Text;
                    objetoSolicitud.asignatura     = textBoxAsignatura.Text;
                    objetoSolicitud.idrecursos     = Convert.ToInt32(comboBoxIdRecursos.Text);
                    objetoSolicitud.idusuario      = Convert.ToInt32(comboBoxIdUsuario.Text);

                    if (logicaNS.EditarSolicitud(objetoSolicitud) > 0)
                    {
                        MessageBox.Show("Actualizado con éxito");
                        dataGridViewSolicitud.DataSource = logicaNS.listarSolicitud();
                        textBoxAula.Text              = "";
                        textBoxNivel.Text             = "";
                        dateTimePickerFechaSol.Text   = "";
                        dateTimePickerFechaUso.Text   = "";
                        dateTimePickerHoraInicio.Text = "";
                        dateTimePickerHoraFinal.Text  = "";
                        textBoxCarrera.Text           = "";
                        textBoxAsignatura.Text        = "";
                        comboBoxIdRecursos.Text       = "";
                        comboBoxIdUsuario.Text        = "";
                        tabSolicitud.SelectedTab      = tabPage2;
                    }
                    else
                    {
                        MessageBox.Show("ERROR AL ACTUALIZAR");
                    }
                    buttonGuardar.Text = "Guardar";
                }
            }
            catch
            {
                MessageBox.Show("Error");
            }
        }
Пример #28
0
 public SolicitudEstadoConsultarPrecio(Solicitud solicitud)
 {
     TipoSolicitud = solicitud;
 }
Пример #29
0
 public SolicitudValidarIntervencion(Solicitud solicitud, string valorEntrada, string codigo = "")
 {
     TipoSolicitud  = solicitud;
     ValorEntrada   = valorEntrada;
     CodigoRecogida = codigo;
 }
Пример #30
0
        public Solicitud CreateSolicitud(Solicitud createSolicitud)
        {
            db.Solicitudes.Add(createSolicitud);

            return(createSolicitud);
        }
    private void MakeRendicion(int idSolOrg)
    {
        TransactionScope _transaction = new TransactionScope();
        Solicitud  sol = Solicitud.GetById(idSolOrg);
        DateTime fechanula = DateTime.Parse("01/01/1900");
        Solicitud  reporte ;
        try {
            reporte = Solicitud.FindOne(Expression.Eq("IdSolicitudInicial", idSolOrg));

            if (reporte == null)
            {

                reporte = new Solicitud();
                reporte.IdSolicitudInicial = sol.Id_Solicitud;
                reporte.IdCliente = sol.IdCliente;
                reporte.IdTipoSolicitud =  sol.IdTipoSolicitud;
                reporte.IdUsuarioCreador = BiFactory.User.IdUsuario;
                reporte.Reporte = "SI";
                reporte.Status = eEstados.Pendiente.ToString();
                reporte.NroOrdenCte = sol.NroOrdenCte;
                reporte.Contacto = sol.Contacto;
                reporte.ContactoMail = sol.ContactoMail;
                reporte.ContactoTel = sol.ContactoTel;
                reporte.Descripcion = sol.Descripcion;

                reporte.FechaCreacion = DateTime.Now;
                reporte.FechaAprobacionCalidad = fechanula;
                reporte.FechaAprobacionTecnica = fechanula;
                reporte.FechaReprogramacion = fechanula;
                reporte.FechaSuspencion = fechanula;
                reporte.ProximaFechaInicio = fechanula;
                reporte.ProximaFechaFin = fechanula;
                reporte.Save();

                TipoSolicitud tipo = sol.Tipo;

                if (tipo.IdTiposolicitud == 1) ///Mantenimiento Preventivo
                {
                    SolicitudPreventivo Sol_Prev = SolicitudPreventivo.FindOne(Expression.Eq("IdSolicitud", idSolOrg));
                    Sol_Prev.Id = 0;
                    Sol_Prev.IdSolicitud = reporte.Id_Solicitud;
                    Sol_Prev.SaveCopyAndFlush();

                    //copio las tareas
                    SolicitudTareas[] tt = SolicitudTareas.FindAll(Expression.Eq("IdSolicitud", idSolOrg));
                    foreach (SolicitudTareas t in tt)
                    {
                        t.Id = 0; //para que guarde una copia
                        t.IdSolicitud = reporte.Id_Solicitud;
                        t.SaveCopyAndFlush();
                    }

                }

                if (tipo.IdTiposolicitud == 2) ///Mantenimiento Correctivo
                {
                    SolicitudCorrectivo Sol_Corr_original= SolicitudCorrectivo.FindOne(Expression.Eq("IdSolicitud", idSolOrg));
                    Sol_Corr_original.Id = 0;
                    Sol_Corr_original.IdSolicitud = reporte.Id_Solicitud;
                    Sol_Corr_original.FechaResolucion = DateTime.Parse("1900-01-01");
                    Sol_Corr_original.SaveCopyAndFlush();

                }

                if (tipo.IdTiposolicitud == 6) ///Obras e Instalaciones
                {

                        SolicitudObra Sol_Obra = SolicitudObra.FindOne(Expression.Eq("IdSolicitud",idSolOrg));
                        Sol_Obra.Id = 0;
                        Sol_Obra.IdSolicitud = reporte.Id_Solicitud;
                        Sol_Obra.SaveCopy();

                }

                //copio las PErsonas
                SolicitudRecursosEmpleados[] ee = SolicitudRecursosEmpleados.FindAll(Expression.Eq("IdSolicitud", idSolOrg));
                foreach (SolicitudRecursosEmpleados e in ee)
                {
                    e.Id = 0;
                    e.IdSolicitud = reporte.Id_Solicitud;
                    e.SaveCopy();
                }

                //copio los vehiculos
                SolicitudRecursosVehiculos[] vv = SolicitudRecursosVehiculos.FindAll(Expression.Eq("IdSolicitud", idSolOrg));
                foreach (SolicitudRecursosVehiculos v in vv)
                {
                    v.Id = 0;
                    v.IdSolicitud = reporte.Id_Solicitud;
                    v.Horas = 0;
                    v.Km = 0;
                    v.SaveCopy();

                }
            }
            reporte.Save();
            //BiFactory.Sol = reporte;
        }
        catch (Exception)
        {
            _transaction.VoteRollBack();
            throw;
        }
        finally
        {
            _transaction.Dispose();

            switch (sol.IdTipoSolicitud)
            {
                case 1:
                    Response.Redirect("MantPreventivoRendicion.aspx");
                    break;
                case 2:
                    Response.Redirect("MantCorrectivoRendicion.aspx");
                    break;
                case 6:
                    Response.Redirect("Reporte_Obras.aspx");
                    break;
            }
        }
    }
Пример #32
0
 public string AgregarCliente(Solicitud reg)
 {
     return(sol.SolicitudAgregar(reg));
 }
Пример #33
0
        public async Task DetailsSolicitudEncontrada()
        {
            using (context)
            {
                // Arrenge
                var controller = new SolicitudesController(context);
                //Simular una conexion de usuario
                controller.ControllerContext.HttpContext = solicitudContext;

                DetailsViewModel detailsView = new DetailsViewModel();
                detailsView.ids = new int[] { 1, 2 };

                Trabajador trabajador = new Trabajador
                {
                    UserName         = "******",
                    Email            = "*****@*****.**",
                    Apellido1        = "Ruiz",
                    Apellido2        = "Villafranca",
                    Domicilio        = "C/Hellin",
                    Municipio        = "Albacete",
                    NIF              = "06290424",
                    Nacionalidad     = "Española",
                    PaisDeResidencia = "España",
                    Provincia
                        = "Albacete"
                };

                var solicitudesEsperadas = new Solicitud[]
                {
                    new Solicitud
                    {
                        SolicitudId = 1,
                        Estado      = Estados.Aceptada,
                        Proyecto    = new Proyecto {
                            ProyectoId = 1, FechaExpiracion = new DateTime(2019, 01, 23), Importe = 70000, Interes = 10, MinInversion = 50, Nombre = "POCHOLO RULES", NumInversores = 0, Plazo = 5, Progreso = 0, RatingId = 1, Rating = new Rating {
                                Nombre = "A"
                            }
                        },
                    },

                    new Solicitud
                    {
                        SolicitudId = 2,
                        Estado      = Estados.Rechazada,
                        Proyecto    = new Proyecto {
                            ProyectoId = 2, FechaExpiracion = new DateTime(2019, 01, 23), Importe = 30000, Interes = null, MinInversion = 50, Nombre = "GRE-GYM", NumInversores = 0, Plazo = null, Progreso = 0, RatingId = 2, Rating = new Rating {
                                Nombre = "F"
                            }
                        },
                    }
                };

                //Act
                var result = await controller.Details(detailsView);

                //Assert

                var viewResult = Assert.IsType <ViewResult>(result);

                var model = viewResult.Model as IEnumerable <Solicitud>;

                Assert.Equal(solicitudesEsperadas, model, Comparer.Get <Solicitud>((p1, p2) => p1.SolicitudId == p2.SolicitudId &&
                                                                                   p1.Estado == p2.Estado && p1.FechaSolicitud == p2.FechaSolicitud));
                Assert.Equal(solicitudesEsperadas[0].Proyecto, model.ElementAt(0).Proyecto, Comparer.Get <Proyecto>((p1, p2) => p1.ProyectoId == p2.ProyectoId &&
                                                                                                                    p1.RatingId == p2.RatingId &&
                                                                                                                    p1.FechaExpiracion == p2.FechaExpiracion &&
                                                                                                                    p1.Importe == p2.Importe &&
                                                                                                                    p1.Interes == p2.Interes &&
                                                                                                                    p1.Nombre == p2.Nombre &&
                                                                                                                    p1.Plazo == p2.Plazo &&
                                                                                                                    p1.Progreso == p2.Progreso &&
                                                                                                                    p1.NumInversores == p2.NumInversores));

                Assert.Equal(solicitudesEsperadas[1].Proyecto, model.ElementAt(1).Proyecto, Comparer.Get <Proyecto>((p1, p2) => p1.ProyectoId == p2.ProyectoId &&
                                                                                                                    p1.RatingId == p2.RatingId &&
                                                                                                                    p1.FechaExpiracion == p2.FechaExpiracion &&
                                                                                                                    p1.Importe == p2.Importe &&
                                                                                                                    p1.Interes == p2.Interes &&
                                                                                                                    p1.Nombre == p2.Nombre &&
                                                                                                                    p1.Plazo == p2.Plazo &&
                                                                                                                    p1.Progreso == p2.Progreso &&
                                                                                                                    p1.NumInversores == p2.NumInversores));
            }
        }
    private void GrabarSolicitud()
    {
        Solicitud sol;
        if (BiFactory.Sol == null)
        {
            sol = new Solicitud();
        }
        DateTime fechanula = DateTime.Parse("01/01/1900");
        sol = BiFactory.Sol;
        sol.Descripcion = txtTitulo.Text;
        sol.IdTipoSolicitud = int.Parse(cmbTipoSolicitud.SelectedValue);
        sol.IdUsuarioCreador = BiFactory.User.IdUsuario;
        //Fechas
        sol.FechaCreacion = System.DateTime.Now;
        sol.FechaAprobacionCalidad = fechanula;
        sol.FechaAprobacionTecnica = fechanula;
        sol.FechaReprogramacion = fechanula;
        sol.FechaSuspencion = fechanula;
        sol.ProximaFechaFin = fechanula;
        sol.ProximaFechaInicio = fechanula;

        sol.Save();
    }