public async Task <IActionResult> Create(TipoCalificacion TipoCalificacion)
        {
            Response response = new Response();

            try
            {
                response = await apiServicio.InsertarAsync(TipoCalificacion,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/TiposCalificaciones/InsertarTipoCalificacion");

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado un TipoCalificacion",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "TipoCalificacion:", TipoCalificacion.IdTipoCalificacion),
                    });

                    return(RedirectToAction("Index"));
                }

                ViewData["Error"] = response.Message;
                return(View(TipoCalificacion));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando TipoCalificacion",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
        private Response Existe(TipoCalificacion TipoCalificacion)
        {
            var bdd = TipoCalificacion.Nombre.ToUpper().TrimEnd().TrimStart();
            var TipoCalificacionrespuesta = db.TipoCalificacion.Where(p => p.Nombre.ToUpper().TrimStart().TrimEnd() == bdd).FirstOrDefault();

            if (TipoCalificacionrespuesta != null)
            {
                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.ExisteRegistro,
                    Resultado = null,
                });
            }

            return(new Response
            {
                IsSuccess = false,
                Resultado = TipoCalificacionrespuesta,
            });
        }
Ejemplo n.º 3
0
        internal void calificarUsuario(string comentario, Contratacion contratacion, TipoEvaluacion tipoEvaluacion, TipoCalificacion tipoCalificacion, int idTipoCalificacion)
        {
            Calificacion calificacion = new Calificacion();

            if (idTipoCalificacion == 1) // Si cliente puntua al prestador.
            {
                calificacion.IdCalificador = contratacion.IdUsuario;
                calificacion.IdCalificado  = contratacion.Publicacion.IdUsuario;

                Contratacion cambioEstado = context.Contratacion.Where(e => e.Id == contratacion.Id).FirstOrDefault();
                cambioEstado.FlagCalificoCliente = 1; // En este caso se marca que el cliente califico al prestador.

                Puntaje puntaje = context.Puntaje.Where(e => e.IdPublicacion == contratacion.IdPublicacion).FirstOrDefault();
                // Cuando califica el cliente hace el cambio en el puntaje de la publicación.

                // Este bloque de código es para llenar la TABLA PUNTAJE perteneciente al prestador por ser dueño de la publicación.
                if (puntaje == null) // Al no existir el puntaje lo crea.
                {
                    Puntaje puntajeNuevo = new Puntaje();

                    puntajeNuevo.IdPublicacion = contratacion.IdPublicacion;

                    if (tipoEvaluacion.Id == 1)
                    {
                        puntajeNuevo.Positivo = 1;
                    }
                    else
                    {
                        if (tipoEvaluacion.Id == 2)
                        {
                            puntajeNuevo.Neutro = 1;
                        }
                        else
                        {
                            puntajeNuevo.Negativo = 1;
                        }
                    }

                    var total = puntajeNuevo.Positivo - puntajeNuevo.Negativo;

                    puntajeNuevo.Total = Convert.ToInt16(total);

                    context.Puntaje.AddObject(puntajeNuevo);
                }
                else // Al existir el puntaje lo modifica.
                {
                    if (tipoEvaluacion.Id == 1)
                    {
                        puntaje.Positivo = Convert.ToInt16(puntaje.Positivo + 1);
                        puntaje.Total    = Convert.ToInt16(puntaje.Total + 1);
                    }
                    else
                    {
                        if (tipoEvaluacion.Id == 2)
                        {
                            puntaje.Neutro = Convert.ToInt16(puntaje.Neutro + 1);
                            // Puntaje Total no tiene cambios.
                        }
                        else
                        {
                            puntaje.Negativo = Convert.ToInt16(puntaje.Negativo + 1);
                            puntaje.Total    = Convert.ToInt16(puntaje.Total - 1);
                        }
                    }
                }
            }
            else // Si prestador puntua al cliente.
            {
                calificacion.IdCalificador = contratacion.Publicacion.IdUsuario;
                calificacion.IdCalificado  = contratacion.IdUsuario;

                Contratacion cambioEstado = context.Contratacion.Where(e => e.Id == contratacion.Id).FirstOrDefault();
                cambioEstado.FlagCalificoProveedor = 1; // En este caso se marca que el prestador califico al cliente.

                PuntajeCliente puntajeCliente = context.PuntajeCliente.Where(e => e.IdUsuario == contratacion.IdUsuario).FirstOrDefault();
                // Cuando califica el prestador hace el cambio en el puntaje del cliente.

                // Este bloque de código es para llenar la TABLA PUNTAJE CLIENTE.
                if (puntajeCliente == null) // Al no existir el puntaje lo crea.
                {
                    PuntajeCliente puntajeClienteNuevo = new PuntajeCliente();

                    puntajeClienteNuevo.IdUsuario = contratacion.IdUsuario;

                    if (tipoEvaluacion.Id == 1)
                    {
                        puntajeClienteNuevo.Positivo = 1;
                    }
                    else
                    {
                        if (tipoEvaluacion.Id == 2)
                        {
                            puntajeClienteNuevo.Neutro = 1;
                        }
                        else
                        {
                            puntajeClienteNuevo.Negativo = 1;
                        }
                    }

                    var total = puntajeClienteNuevo.Positivo - puntajeClienteNuevo.Negativo;

                    puntajeClienteNuevo.Total = Convert.ToInt16(total);

                    context.PuntajeCliente.AddObject(puntajeClienteNuevo);
                }
                else // Al existir el puntaje lo modifica.
                {
                    if (tipoEvaluacion.Id == 1)
                    {
                        puntajeCliente.Positivo = Convert.ToInt16(puntajeCliente.Positivo + 1);
                        puntajeCliente.Total    = Convert.ToInt16(puntajeCliente.Total + 1);
                    }
                    else
                    {
                        if (tipoEvaluacion.Id == 2)
                        {
                            puntajeCliente.Neutro = Convert.ToInt16(puntajeCliente.Neutro + 1);
                            // Puntaje Total no tiene cambios.
                        }
                        else
                        {
                            puntajeCliente.Negativo = Convert.ToInt16(puntajeCliente.Negativo + 1);
                            puntajeCliente.Total    = Convert.ToInt16(puntajeCliente.Total - 1);
                        }
                    }
                }
            }

            // Termino de armar la calificación
            calificacion.Descripcion        = comentario;
            calificacion.IdContratacion     = contratacion.Id;
            calificacion.IdTipoCalificacion = tipoCalificacion.Id;
            calificacion.IdTipoEvaluacion   = tipoEvaluacion.Id;
            calificacion.FechaCalificacion  = DateTime.Now;
            calificacion.FlagDenunciado     = 0; //no fue denunciada esa calificacion todavia
            calificacion.FlagReplicado      = 0; //no fue replicado esa calificacion todavia

            context.Calificacion.AddObject(calificacion);

            /*    if (idTipoCalificacion == 1)
             *  {
             *
             *
             *  }
             *  else
             *  {
             *
             *
             *  } */

            context.SaveChanges();
        }
        public async Task <Response> PutTipoCalificacion([FromRoute] int id, [FromBody] TipoCalificacion TipoCalificacion)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var existe = Existe(TipoCalificacion);
                if (existe.IsSuccess)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ExisteRegistro,
                    });
                }

                var TipoCalificacionActualizar = await db.TipoCalificacion.Where(x => x.IdTipoCalificacion == id).FirstOrDefaultAsync();

                if (TipoCalificacionActualizar != null)
                {
                    try
                    {
                        TipoCalificacionActualizar.Nombre = TipoCalificacion.Nombre;
                        db.TipoCalificacion.Update(TipoCalificacionActualizar);
                        await db.SaveChangesAsync();

                        return(new Response
                        {
                            IsSuccess = true,
                            Message = Mensaje.Satisfactorio,
                        });
                    }
                    catch (Exception ex)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                            ExceptionTrace       = ex.Message,
                            Message              = Mensaje.Excepcion,
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                            UserName             = "",
                        });

                        return(new Response
                        {
                            IsSuccess = false,
                            Message = Mensaje.Error,
                        });
                    }
                }



                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }