Esempio n. 1
0
        public GenericStatusModel Delete(string token)
        {
            string machine = HttpContext.Features.Get <IHttpConnectionFeature>()?.RemoteIpAddress.ToString();

            string res = SessionCode.ValidateSessionCode(token, machine, true);

            GenericStatusModel gsm = new GenericStatusModel();

            if (res == null || res == "")
            {
                gsm.Result           = (int)RacMsg.Id.InvalidTokenInExpression;
                gsm.ResultComplement = "";
            }
            else
            {
                gsm.Result           = 0;
                gsm.ResultComplement = "";
            }

            return(gsm);
        }
Esempio n. 2
0
        public GenericStatusModel NewsLetterRegister([FromBody] NewsLetterRegister request)
        {
            GenericStatusModel gsm = new GenericStatusModel();

            int lang = 2;

            if (request.Lang >= 2 && request.Lang <= 4)
            {
                lang = request.Lang;
            }

            RacMsg msgs = RacMsg.cache.GetMessage((RacMsg.Language)lang);

            if (request.Type == 1)
            {
                if (!LibVisLib.Verify.AcceptEmail(request.Data))
                {
                    gsm.Result           = (int)RacMsg.Id.Error;
                    gsm.ResultComplement = msgs.Get(RacMsg.Id.InvalidCharactersInTheEmail);
                    RacWebLog.log.Log(RacWebLog.LogType.Error, "Invalid email format: " + request.Data);
                }
                else
                {
                    RacWebLog.log.Log(RacWebLog.LogType.Informative, "Registro de email para newsletter: " + request.Data);
                    NewsLetter.AddNewsLetterEmail(request.Data);

                    gsm.Result           = 0;
                    gsm.ResultComplement = "";
                }
            }
            else
            {
                gsm.Result           = (int)RacMsg.Id.Error;
                gsm.ResultComplement = msgs.Get(RacMsg.Id.InvalidType);
                RacWebLog.log.Log(RacWebLog.LogType.Error, "Tipo de registro inválido: " + request.Type.ToString());
            }

            return(gsm);
        }
Esempio n. 3
0
        public GenericStatusModel RegisterGrant(string token, [FromBody] RegisterGrant grant)
        {
            GenericStatusModel gsm = new GenericStatusModel();

            gsm.Result           = 0;
            gsm.ResultComplement = "";

            // Verifica o token de autenticação

            string machine = HttpContext.Features.Get <IHttpConnectionFeature>()?.RemoteIpAddress.ToString();

            string userId = SessionCode.ValidateSessionCode(token, machine);

            if (userId == null)
            {
                gsm.Result           = (int)RacMsg.Id.InvalidTokenInExpression;
                gsm.ResultComplement = "Token inválido";
            }

            LibVisLib.Profile prf = LibVisLib.Profile.LoadProfile(userId);
            if (prf == null)
            {
                gsm.Result           = (int)RacMsg.Id.InvalidTokenInExpression;
                gsm.ResultComplement = "Usuário não encontrado";
            }

            if (!prf.user.isInternal)
            {
                gsm.Result           = (int)RacMsg.Id.UserHasNoRightToThisItem;
                gsm.ResultComplement = "Usuário não tem direitos para essa ação";
            }

            if (gsm.Result == 0)
            {
                try
                {
                    if (!LibVisLib.Verify.AcceptGuidOrNull(grant.ActionId))
                    {
                        gsm.Result            = (int)RacLib.RacMsg.Id.Error;
                        gsm.ResultComplement += "Caracteres inválidos no id da ação; ";
                        RacLib.BaseLog.log.Log(RacLib.BaseLog.LogType.Error, "errActionId: Invalid chars");
                    }

                    if (!LibVisLib.Verify.AcceptGuidOrNull(grant.AwardId))
                    {
                        gsm.Result            = (int)RacLib.RacMsg.Id.Error;
                        gsm.ResultComplement += "Caracteres inválidos no id do premio; ";
                        RacLib.BaseLog.log.Log(RacLib.BaseLog.LogType.Error, "errActionId: Invalid chars");
                    }

                    if (grant.Add < 0 || grant.Add > 1)
                    {
                        gsm.Result            = (int)RacLib.RacMsg.Id.Error;
                        gsm.ResultComplement += "Ação inválida; ";
                        RacLib.BaseLog.log.Log(RacLib.BaseLog.LogType.Error, "errAdd: Invalid value");
                    }

                    if (gsm.Result == 0)
                    {
                        string actionId = LibVisLib.Verify.VerifyGuid(grant.ActionId);
                        string awardId  = LibVisLib.Verify.VerifyGuid(grant.AwardId);

                        LibVisLib.TargetAction trga = LibVisLib.TargetAction.LoadTargetAction(actionId);
                        if (trga == null)
                        {
                            gsm.Result            = (int)RacLib.RacMsg.Id.Error;
                            gsm.ResultComplement += "Ação inválida; ";
                            RacLib.BaseLog.log.Log(RacLib.BaseLog.LogType.Error, "errTargetId: Invalid target");
                        }
                        else
                        {
                            if (grant.Add == 0)
                            {
                                trga.RemoveGrant(grant.AwardId);
                            }
                            else
                            {
                                trga.AddGrant(grant.AwardId, userId);
                            }

                            trga.Save();
                        }
                    }
                }
                catch (Exception ex)
                {
                    if (!ex.Message.StartsWith("Thread was being aborted"))
                    {
                        gsm.Result            = (int)RacLib.RacMsg.Id.InternalError;
                        gsm.ResultComplement += ex.Message;
                        RacLib.BaseLog.log.Log(RacLib.BaseLog.LogType.InternalError, "Exception in form");
                        RacLib.BaseLog.log.Log(ex);
                    }
                }
            }

            return(gsm);
        }