コード例 #1
0
        public ConsumerEN UpdateConsumerProfile(string pPhone, int pCountryID, string pDeviceID, string pURL, string pEmail, string pProfileID, string pUserID, string pFirstName, string pMiddleName, string pLastName)
        {
            ConsumerEN updateThisConsumer = new ConsumerEN();

            try
            {
                updateThisConsumer = cnn.Cnn.Query <ConsumerEN>("SpUpdateConsumer",
                                                                new
                {
                    Phone      = pPhone,
                    CountryID  = pCountryID,
                    DeviceID   = pDeviceID,
                    URL        = pURL,
                    Email      = pEmail,
                    ProfileID  = pProfileID,
                    UserID     = pUserID,
                    Firstname  = pFirstName,
                    MiddleName = pMiddleName,
                    Lastname   = pLastName
                }, commandType: CommandType.StoredProcedure).FirstOrDefault();
            }
            catch (Exception ex)
            {
                updateThisConsumer = null;
                Console.WriteLine("Error RegisterConsumerDAL: " + ex.Message);
                EventViewerLoggerDAL.LogError(ex.Message);
            }
            finally
            {
                cnn.Cnn.Close();
            }

            return(updateThisConsumer);
        }
コード例 #2
0
        public ConsumerEN UpdateConsumerProfile(string pPhone, int pCountryID, string pDeviceID, string pURL, string pEmail, string pProfileID, string pUserID, string pFirstName, string pMiddleName, string pLastName, string pConsumerAuth)
        {
            ConsumerEN consumerToUpdate = new ConsumerEN();
            ConsumerEN bringConsumer    = new ConsumerEN();

            try
            {
                consumerToUpdate = consumerDAL.UpdateConsumerProfile(pPhone, pCountryID, pDeviceID, pURL, pEmail, pProfileID, pUserID, pFirstName, pMiddleName, pLastName);

                bringConsumer = consumerDAL.GetConsumerByProfileID(pProfileID);

                if (bringConsumer != null)
                {
                    //var ConsumerUpdated = registerConsumerDAL.GetConsumerByProfileID(pProfileID);
                    ConsumerEN ConsumerUpdated = consumerDAL.GetConsumerByProfileID(pProfileID);

                    var Token = consumerDAL.GetAuthConsumer(bringConsumer.ConsumerID);

                    bringConsumer.ConsumerAuthKey = Token.ConsumerAuthKey;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerBL.LogError(ex.Message);
            }

            return(bringConsumer);
        }
コード例 #3
0
        public ConsumerEN AuthenticateConsumer(string pToken)
        {
            ConsumerEN consumer = null;

            try
            {
                AuthConsumerEN authKey = consumerDAL.GetConsumerAuthByToken(pToken);

                if (authKey != null)
                {
                    string profileID = jwt.decodeFacebookID(authKey.ConsumerAuthKey);
                    consumer = consumerDAL.GetConsumerByProfileID(profileID);

                    if (consumer != null)
                    {
                        consumer.IsValidKey = true;
                    }
                }
            }
            catch (Exception ex)
            {
                consumer = null;
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerBL.LogError(ex.Message);
            }

            return(consumer);
        }
コード例 #4
0
        public SimpleOperationModel AddConsumerNickname(ConsumerEN pConsumer, string pNickname)
        {
            SimpleOperationModel nicknameOp = new SimpleOperationModel();
            bool isForbidden = false;

            try
            {
                var forbiddenNickname = consumerDAL.GetForbiddenNickname(pNickname);

                isForbidden = ValidateIsForbidden(pNickname, 0, forbiddenNickname);

                isForbidden = (isForbidden == false) ? ValidateIsForbidden(pNickname, 1, forbiddenNickname) : true;

                if (isForbidden)
                {
                    nicknameOp.Result  = false;
                    nicknameOp.Message = "forbidden";
                }
                else
                {
                    var nickname = consumerDAL.GetConsumerByNickname(pNickname);

                    if (nickname == null)
                    {
                        pConsumer.Nickname = pNickname;
                        if (consumerDAL.UpdateConsumer(pConsumer) > 0)
                        {
                            nicknameOp.Result  = true;
                            nicknameOp.Message = "updated";
                        }
                        else
                        {
                            nicknameOp.Result  = false;
                            nicknameOp.Message = "error";
                        }
                    }
                    else
                    {
                        nicknameOp.Result  = false;
                        nicknameOp.Message = "conflict";
                    }
                }
            }
            catch (Exception ex)
            {
                nicknameOp = null;
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerBL.LogError(ex.Message);
            }

            return(nicknameOp);
        }
コード例 #5
0
        public RegisterConsumerResponse CreatorRegisterResponse(ConsumerEN pRegister)
        {
            RegisterConsumerResponse response = new RegisterConsumerResponse();

            response.firstName         = pRegister.FirstName;
            response.middleName        = pRegister.MiddleName;
            response.lastName          = pRegister.LastName;
            response.nickname          = pRegister.Nickname;
            response.phone             = pRegister.Phone;
            response.email             = pRegister.Email;
            response.countryID         = pRegister.CountryID;
            response.authenticationKey = pRegister.ConsumerAuthKey;

            return(response);
        }
コード例 #6
0
        public ConsumerEN InsertConsumer(string pPhone, int pCountryID, string pDeviceID, string pURL, string pEmail, string pProfileID, string pUserID, string pFirstName, string pMiddleName, string pLastName, string pNickName, string pConsumerAuthKey)
        {
            ConsumerEN register = new ConsumerEN();

            try
            {
                //ingresa en base de datos un Consumer
                register = consumerDAL.InsertConsumer(pPhone, pCountryID, pDeviceID, pURL, pEmail, pProfileID, pUserID, pFirstName, pMiddleName, pLastName, pNickName);

                //Trae registro de la base de datos recien ingresado por ProfileID
                ConsumerEN consumerInDB = new ConsumerEN();
                consumerInDB = consumerDAL.GetConsumerByProfileID(pProfileID);


                //Codifica el profileID
                string encodedProfileID = jwt.encodeFacebookId(pProfileID);

                //Inserta en Consumer.ConsumerAuth un encodedProfileID
                ConsumerAuthKeyEN consumerAuth = new ConsumerAuthKeyEN();
                consumerAuth.ConsumerID      = consumerInDB.ConsumerID;
                consumerAuth.ConsumerAuthKey = encodedProfileID;
                consumerAuth.RegDate         = DateTime.Now;

                ConsumerAuthKeyEN insertConsumerAuth = consumerDAL.InsertConsumerAuth(consumerAuth);


                //Trae el Token del Consumer recien ingresado en la base de datos

                var authToken = consumerDAL.GetAuthConsumer(consumerInDB.ConsumerID);

                //asigno valor a propiedad ConusmerAuthToken de la entidad
                register.ConsumerAuthKey = authToken.ConsumerAuthKey;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerBL.LogError(ex.Message);
            }

            return(register);
        }
コード例 #7
0
        public ConsumerEN GetConsumerByProfileID(string pProfileID)
        {
            ConsumerEN getConsumer = new ConsumerEN();

            try
            {
                getConsumer = cnn.Cnn.Query <ConsumerEN>("SpGetConsumer",
                                                         new { ProfileID = pProfileID }, commandType: CommandType.StoredProcedure).FirstOrDefault();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error RegisterConsumerDAL: " + ex.Message);
                EventViewerLoggerDAL.LogError(ex.Message);
            }
            finally
            {
                cnn.Cnn.Close();
            }

            return(getConsumer);
        }
コード例 #8
0
        public ConsumerEN InsertConsumer(string pPhone, int pCountryID, string pDeviceID, string pURL, string pEmail, string pProfileID, string pUserID, string pFirstName, string pMiddleName, string pLastName, string pNickName)
        {
            ConsumerEN registerConsumer = new ConsumerEN();

            try
            {
                cnn.Cnn.Open();

                int?resultInsert = default(int);

                registerConsumer.Phone            = pPhone;
                registerConsumer.CountryID        = pCountryID;
                registerConsumer.Active           = false;
                registerConsumer.DeviceID         = pDeviceID;
                registerConsumer.RegistrationDate = DateTime.Now;
                registerConsumer.ModificationDate = DateTime.Now;
                registerConsumer.URL        = pURL;
                registerConsumer.Email      = pEmail;
                registerConsumer.ProfileID  = pProfileID;
                registerConsumer.UserID     = pUserID;
                registerConsumer.FirstName  = pFirstName;
                registerConsumer.MiddleName = pMiddleName;
                registerConsumer.LastName   = pLastName;
                registerConsumer.Nickname   = pNickName;

                //Insertando en base de datos, si resultado exitoso, resultInsert = 1
                resultInsert = cnn.Cnn.Insert(registerConsumer);
            }
            catch (Exception ex)
            {
                Console.WriteLine("RegisterConsumerDAL: " + ex.Message);
                EventViewerLoggerDAL.LogError(ex.Message);
            }
            finally
            {
                cnn.Cnn.Close();
            }

            return(registerConsumer);
        }
コード例 #9
0
        public ConsumerEN GetConsumerByNickname(string pNickname)
        {
            ConsumerEN consumer = new ConsumerEN();

            try
            {
                consumer = cnn.Cnn.Query <ConsumerEN>("SpGetConsumerByNickname", new { nickname = pNickname.Trim() },
                                                      commandType: CommandType.StoredProcedure).FirstOrDefault();
            }
            catch (Exception ex)
            {
                consumer = null;
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerDAL.LogError("GetConsumerByID: " + ex.Message);
            }
            finally
            {
                cnn.Cnn.Close();
            }

            return(consumer);
        }
コード例 #10
0
        public ConsumerEN GetConsumerByID(int pConsumerID)
        {
            ConsumerEN consumer = new ConsumerEN();

            try
            {
                cnn.Cnn.Open();
                consumer = cnn.Cnn.GetList <ConsumerEN>().Where(c => c.ConsumerID == pConsumerID).FirstOrDefault();
            }
            catch (Exception ex)
            {
                consumer = null;
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerDAL.LogError("GetConsumerByID: " + ex.Message);
            }
            finally
            {
                cnn.Cnn.Close();
            }

            return(consumer);
        }
コード例 #11
0
        public int UpdateConsumer(ConsumerEN pConsumer)
        {
            int result = default(int);

            try
            {
                cnn.Cnn.Open();
                pConsumer.ModificationDate = DateTime.Now;
                result = cnn.Cnn.Update(pConsumer);
            }
            catch (Exception ex)
            {
                result = 0;
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerDAL.LogError("UpdateConsumerPhone: " + ex.Message);
            }
            finally
            {
                cnn.Cnn.Close();
            }
            return(result);
        }
コード例 #12
0
        public RegisterConsumerResponse CreatorUpdateResponse(ConsumerEN pConsumerUpdated)
        {
            RegisterConsumerResponse response = new RegisterConsumerResponse();

            try
            {
                response.firstName         = pConsumerUpdated.FirstName;
                response.middleName        = pConsumerUpdated.MiddleName;
                response.lastName          = pConsumerUpdated.LastName;
                response.nickname          = pConsumerUpdated.Nickname;
                response.phone             = pConsumerUpdated.Phone;
                response.email             = pConsumerUpdated.Email;
                response.countryID         = pConsumerUpdated.CountryID;
                response.authenticationKey = pConsumerUpdated.ConsumerAuthKey;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
            }

            return(response);
        }
コード例 #13
0
        public bool SelectConsumerProfile(string pProfileID)
        {
            bool consumerFound = false;

            ConsumerEN selectedConsumer = new ConsumerEN();

            try
            {
                selectedConsumer = consumerDAL.GetProfileIDByProfileID(pProfileID);

                if (selectedConsumer != null)
                {
                    consumerFound = true;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerBL.LogError(ex.Message);
            }

            return(consumerFound);
        }
コード例 #14
0
        public HttpResponseMessage InsertConsumer(HttpRequestMessage request, [FromBody] ConsumerEN data)
        {
            IEnumerable <string> AppVersion = null;

            request.Headers.TryGetValues("AppVersion", out AppVersion);

            IEnumerable <string> Platform = null;

            Request.Headers.TryGetValues("Platform", out Platform);

            bool ApplyValidation = bool.Parse(ConfigurationManager.AppSettings["ApplyValidationAppVersion"].ToString());

            if (ApplyValidation == false || (AppVersion != null && Platform != null))
            {
                string versionRequired = "";
                string error           = "";

                var isValidVersion = (ApplyValidation == false) ? true : gameBL.IsValidAppVersion(AppVersion.FirstOrDefault(), Platform.FirstOrDefault(), ref error, ref versionRequired);

                if (isValidVersion)
                {
                    if (!string.IsNullOrEmpty(data.ProfileID) && (!string.IsNullOrEmpty(data.UserID)))
                    {
                        bool ConsumerExists = consumerBL.SelectConsumerProfile(data.ProfileID);

                        if (ConsumerExists)
                        {
                            ConsumerEN updateConsumer = consumerBL.UpdateConsumerProfile(data.Phone, data.CountryID, data.DeviceID, data.URL, data.Email, data.ProfileID, data.UserID, data.FirstName, data.MiddleName, data.LastName, data.ConsumerAuthKey);

                            if (updateConsumer != null)
                            {
                                responseRegister = interactor.CreatorUpdateResponse(updateConsumer);
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, responseRegister));
                            }
                            else
                            {
                                response.HttpCode = 500;
                                response.Message  = "Something went wrong";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response));
                            }
                        }
                        else
                        {
                            ConsumerEN registerConsumer = consumerBL.InsertConsumer(data.Phone, data.CountryID, data.DeviceID, data.URL, data.Email, data.ProfileID, data.UserID, data.FirstName, data.MiddleName, data.LastName, data.Nickname, data.ConsumerAuthKey);

                            if (registerConsumer != null)
                            {
                                responseRegister = interactor.CreatorRegisterResponse(registerConsumer);
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, responseRegister));
                            }
                            else
                            {
                                response.HttpCode = 500;
                                response.Message  = "Something went wrong";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response));
                            }
                        }
                    }
                    else
                    {
                        response.HttpCode = 500;
                        response.Message  = "Something went wrong";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response));
                    }
                }
                else
                {
                    response.HttpCode     = 426;
                    response.InternalCode = versionRequired;
                    response.Message      = "Upgrade required";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.UpgradeRequired, response));
                }
            }
            else
            {
                response.HttpCode = 404;
                response.Message  = "Version or Platform parameter can not be null";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
            }
        }
コード例 #15
0
        public TokenResultEN RegisterPhoneConsumer(ConsumerEN pConsumer, string pPhone, string pDeviceID, int pCountryID)
        {
            TokenResultEN tokenResult = new TokenResultEN();

            tokenResult.registeredAndSent = false;

            try
            {
                pConsumer.Phone            = pPhone;
                pConsumer.CountryID        = pCountryID;
                pConsumer.DeviceID         = pDeviceID;
                pConsumer.Active           = false;
                pConsumer.ModificationDate = DateTime.Now;

                if (consumerDAL.UpdateConsumer(pConsumer) > 0)
                {
                    var consumer  = consumerDAL.GetConsumerByID(pConsumer.ConsumerID);
                    var lastToken = tokenDAL.GetLastConsumerSmsToken(pConsumer.ConsumerID);
                    //This condition validates if a consumer has already registered his phone number
                    if (consumer.Phone == null)
                    {
                        string token = tokenDAL.GenerateConsumerToken(pConsumer.ConsumerID);

                        if (!String.IsNullOrEmpty(token))
                        {
                            string targetPhone     = pPhone;
                            string messageTemplate = ConfigurationManager.AppSettings["SmsValidationCode"].ToString();

                            string message   = String.Concat(messageTemplate, token);
                            string proveedor = ConfigurationManager.AppSettings["proveedorsms"].ToString();
                        }
                    }
                    else
                    {
                        if (lastToken != null)
                        {
                            DateTime AfterMinute = lastToken.CreationDate.AddMinutes(1.5);
                            if (pConsumer.ModificationDate >= AfterMinute)
                            {
                                string token = tokenDAL.GenerateConsumerToken(pConsumer.ConsumerID);

                                if (!String.IsNullOrEmpty(token))
                                {
                                    string targetPhone     = pPhone;
                                    string messageTemplate = ConfigurationManager.AppSettings["SmsValidationCode"].ToString();

                                    string message   = String.Concat(messageTemplate, token);
                                    string proveedor = ConfigurationManager.AppSettings["proveedorsms"].ToString();
                                }
                                else
                                {
                                    tokenResult.registeredAndSent = false;
                                }
                            }
                            else
                            {
                                var TimeRemaining = AfterMinute - DateTime.Now;

                                double SecondsRemaining = TimeRemaining.TotalSeconds;
                                SecondsRemaining = Math.Round(SecondsRemaining);

                                tokenResult.TimeRemaining     = "Espera " + SecondsRemaining + " segundos para enviar otro mensaje.";
                                tokenResult.registeredAndSent = false;

                                return(tokenResult);
                            }
                        }
                        else
                        {
                            string token = tokenDAL.GenerateConsumerToken(pConsumer.ConsumerID);

                            if (!String.IsNullOrEmpty(token))
                            {
                                string targetPhone     = "+" + pPhone;
                                string messageTemplate = ConfigurationManager.AppSettings["SmsValidationCode"].ToString();

                                string message = String.Concat(messageTemplate, token);
                            }
                            else
                            {
                                tokenResult.registeredAndSent = false;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                tokenResult.registeredAndSent = false;
                Console.WriteLine(ex.InnerException);
                EventViewerLoggerBL.LogError("RegisterPhoneConsumer: " + ex.Message);
            }

            return(tokenResult);
        }