示例#1
0
        private JObject GetGalleryImages(string id)
        {
            JObject filter = new JObject();

            filter[CommonConst.CommonField.DISPLAY_ID] = id;

            var data = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString());

            if (data != null)
            {
                ImageGalleryHelper.AddDefaultOwner(data);
                if (ImageGalleryHelper.IsValidaUser(data, SessionProvider))
                {
                    AddGalleryThumbnailImage(data);

                    return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, GetGalleryPageData(data)));
                }
                else
                {
                    data.Remove(ImageProcessor.AUTH_USERS);
                    data.Remove(ImageProcessor.FILE_HASHS);
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED, data));
                }
            }
            else
            {
                return(ResponseBuilder.CreateReponse(CommonConst._404_RESOURCE_NOT_FOUND));
            }
        }
示例#2
0
        public bool Send()
        {
            Logger.Info("Start TextLocalSMSController.Send");
            string sms_id = _paramContainer.GetKey(TextLocalConsts.SMS_QUEUE_ID);

            if (string.IsNullOrEmpty(sms_id))
            {
                Logger.Error("sms_id is null");
                ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR);
            }
            var smsData = DBProxy.FirstOrDefault(CommonConst.Collection.SMS_QUEUE, CommonConst.CommonField.DISPLAY_ID, sms_id);

            if (smsData == null)
            {
                Logger.Error("sms_data is null");
                ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR);
            }

            var phone       = smsData[CommonConst.CommonField.PHONE].ToString();
            var textSMSData = smsData[CommonConst.CommonField.BODY].ToString();

            string apiKey    = AppSettingService.GetAppSettingData(TextLocalConsts.TEXT_LOCAL_SMS_GATEWAY_KEY);
            string endPoint  = AppSettingService.GetAppSettingData(TextLocalConsts.TEXT_LOCAL_SMS_GATEWAY_ENDPOINT);
            string fromPhone = AppSettingService.GetAppSettingData(TextLocalConsts.SMS_FROM);

            return(TextLocalSMSHelper.SendSMS(textSMSData, phone, apiKey, endPoint, fromPhone, Logger));
        }
示例#3
0
        public JObject GetUserBookmark()
        {
            var user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);

            if (user == null)
            {
                return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
            }

            var filter = new JObject();

            filter[CommonConst.CommonField.USER_ID] = user.user_id;

            var     bookmarkData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_IMAGE_BOOKMARK_COLLECTION, filter.ToString());
            JObject responseData = new JObject();

            if (bookmarkData != null)
            {
                JArray data = new JArray();
                foreach (var item in bookmarkData[ImageProcessor.IMAGES])
                {
                    var d = ImageGalleryHelper.GetImageData(DBProxy, SessionProvider, item[ImageProcessor.FILE_HASH].ToString()).First();
                    d[ImageProcessor.GALLERY_ID] = item[ImageProcessor.GALLERY_ID];
                    data.Add(d);
                }
                responseData[CommonConst.CommonField.NAME] = "My Bookmarked Images";
                responseData[ImageProcessor.IMAGES]        = data;
            }
            return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, responseData));
        }
示例#4
0
        public JObject Bookmark()
        {
            try
            {
                var fileHash  = HttpProxy.GetQueryString(ImageProcessor.FILE_HASH);
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);

                if (string.IsNullOrEmpty(fileHash) || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }

                if (!ImageGalleryHelper.HasAccess(DBProxy, SessionProvider, galleryId, fileHash))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                var user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);

                var filter = new JObject();
                filter[CommonConst.CommonField.USER_ID] = user.user_id;

                var bookmarkData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_IMAGE_BOOKMARK_COLLECTION, filter.ToString());
                if (bookmarkData == null)
                {
                    bookmarkData = new JObject();
                    bookmarkData[CommonConst.CommonField.DISPLAY_ID] = CommonUtility.GetNewID();
                    bookmarkData[CommonConst.CommonField.USER_ID]    = user.user_id;
                    bookmarkData[ImageProcessor.IMAGES] = new JArray();
                }

                JObject bookmarrkResponse = new JObject();
                var     bookmarkFile      = (bookmarkData[ImageProcessor.IMAGES] as JArray).FirstOrDefault(f => f[ImageProcessor.FILE_HASH].ToString() == fileHash);
                Logger.Debug("Get Bookmark data");
                if (bookmarkFile != null)
                {
                    (bookmarkData[ImageProcessor.IMAGES] as JArray).Remove(bookmarkFile);
                    bookmarrkResponse[ImageProcessor.COUNT] = -1;
                    Logger.Debug("Removed");
                }
                else
                {
                    bookmarkFile = new JObject();
                    bookmarkFile[ImageProcessor.FILE_HASH]  = fileHash;
                    bookmarkFile[ImageProcessor.GALLERY_ID] = galleryId;
                    (bookmarkData[ImageProcessor.IMAGES] as JArray).Add(bookmarkFile);
                    bookmarrkResponse[ImageProcessor.COUNT] = +1;
                    Logger.Debug("Adding");
                }

                DBProxy.Update(ImageProcessor.MYPHOTO_IMAGE_BOOKMARK_COLLECTION, filter.ToString(), bookmarkData, true, MergeArrayHandling.Replace);

                return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, bookmarrkResponse));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
示例#5
0
        public JObject Like()
        {
            try
            {
                var fileHash  = HttpProxy.GetQueryString(ImageProcessor.FILE_HASH);
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);

                if (string.IsNullOrEmpty(fileHash) || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }

                if (!ImageGalleryHelper.HasAccess(DBProxy, SessionProvider, galleryId, fileHash))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                var user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);

                var filter = new JObject();
                filter[ImageProcessor.FILE_HASH] = fileHash;

                var likeData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_IMAGE_LIKE_COLLECTION, filter.ToString());
                if (likeData == null)
                {
                    likeData = new JObject();
                    likeData[ImageProcessor.USERS]               = new JArray();
                    likeData[ImageProcessor.FILE_HASH]           = fileHash;
                    likeData[ImageProcessor.COUNT]               = 0;
                    likeData[CommonConst.CommonField.DISPLAY_ID] = CommonUtility.GetNewID();
                }

                var totalCount = 0;
                int.TryParse(likeData[ImageProcessor.COUNT].ToString(), out totalCount);
                JObject like     = new JObject();
                var     likeUser = (likeData[ImageProcessor.USERS] as JArray).FirstOrDefault(f => f.ToString() == user.user_id);
                if (likeUser != null)
                {
                    (likeData[ImageProcessor.USERS] as JArray).Remove(likeUser);
                    totalCount--;
                    like[ImageProcessor.COUNT] = -1;
                }
                else
                {
                    (likeData[ImageProcessor.USERS] as JArray).Add(user.user_id);
                    totalCount++;
                    like[ImageProcessor.COUNT] = +1;
                }
                likeData[ImageProcessor.COUNT] = (likeData[ImageProcessor.USERS] as JArray).Count;

                DBProxy.Update(ImageProcessor.MYPHOTO_IMAGE_LIKE_COLLECTION, filter.ToString(), likeData, true, MergeArrayHandling.Replace);
                return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, like));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
示例#6
0
        private string  UploadFile(string galleryId, UserModel user, string fileName, IKeyValueStorage keyValueStorage)
        {
            FileInfo fi = new FileInfo(fileName);

            Logger.Debug(string.Format("Getting File Data"));

            byte[] fileData = _fileUploader.GetFileData(fileName);
            using (Bitmap image = ImageGalleryHelper.GetImageBitmapFromByte(fileData))
            {
                Logger.Debug(string.Format("Getting file Hash"));
                var fileModel = new FileModel()
                {
                    file_hash = Hashing.GetFileHash(fileData), file_paths = new List <string>()
                };
                JObject fileFilter = new JObject();
                fileFilter[ImageProcessor.FILE_HASH] = fileModel.file_hash;
                if (DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_COLLECTION, fileFilter.ToString()) == null)
                {
                    Logger.Debug(string.Format("CreateFileDataJObject"));
                    var imageJObjectData = ImageGalleryHelper.CreateFileDataJObject(fileModel, string.Empty, image, keyValueStorage);
                    imageJObjectData[CommonConst.CommonField.DISPLAY_ID] = CommonUtility.GetNewID();
                    imageJObjectData[ImageProcessor.OWNER] = user.user_id;
                    DBProxy.Write(ImageProcessor.MYPHOTO_COLLECTION, imageJObjectData);
                }

                var filter = new JObject();
                filter[CommonConst.CommonField.DISPLAY_ID] = galleryId;
                Logger.Debug(string.Format("Getting gallery "));
                var galleryData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString());
                if (galleryData == null)
                {
                    galleryData = new JObject();
                    galleryData[ImageProcessor.FILE_HASHS] = new JArray();
                    (galleryData[ImageProcessor.FILE_HASHS] as JArray).Add(fileModel.file_hash);
                    galleryData[ImageProcessor.GALLERY_THUMBNAIL] = fileModel.file_hash;
                    galleryData[ImageProcessor.OWNER]             = user.user_id;
                    galleryData[ImageProcessor.AUTH_USERS]        = new JArray();
                    (galleryData[ImageProcessor.AUTH_USERS] as JArray).Add(user.user_id);
                }
                else
                {
                    if (galleryData[ImageProcessor.FILE_HASHS] == null)
                    {
                        galleryData[ImageProcessor.FILE_HASHS] = new JArray();
                    }
                    Logger.Debug(string.Format("Adding file to collection "));
                    (galleryData[ImageProcessor.FILE_HASHS] as JArray).Insert(0, fileModel.file_hash);
                }
                galleryData[ImageProcessor.FILES_COUNT] = (galleryData[ImageProcessor.FILE_HASHS] as JArray).Count;

                DBProxy.Update(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString(), galleryData, false, MergeArrayHandling.Replace);

                return(fileModel.file_hash);
            }
        }
示例#7
0
        public JObject UpdateAlbum()
        {
            try
            {
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);

                var requestBody = HttpProxy.GetRequestBody <JObject>();
                if (requestBody == null || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (!ImageGalleryHelper.IsOwner(DBProxy, SessionProvider, galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                var filter = new JObject();
                filter[CommonConst.CommonField.DISPLAY_ID] = galleryId;

                var data = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString());

                if (data == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (requestBody[ImageProcessor.DISPLAY_NAME] != null)
                {
                    data[ImageProcessor.DISPLAY_NAME] = requestBody[ImageProcessor.DISPLAY_NAME].ToString();
                }
                if (requestBody[ImageProcessor.DESCRIPTION] != null)
                {
                    data[ImageProcessor.DESCRIPTION] = requestBody[ImageProcessor.DESCRIPTION].ToString();
                }
                if (requestBody[ImageProcessor.GALLERY_THUMBNAIL] != null)
                {
                    data[ImageProcessor.GALLERY_THUMBNAIL] = requestBody[ImageProcessor.GALLERY_THUMBNAIL].ToString();
                }
                if (requestBody[ImageProcessor.AUTH_USERS] != null)
                {
                    data[ImageProcessor.AUTH_USERS] = requestBody[ImageProcessor.AUTH_USERS];
                }

                if (DBProxy.Update(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString(), data, false, MergeArrayHandling.Replace) != 1)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
                return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
示例#8
0
        public JObject DeleteImage()
        {
            try
            {
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);
                var fileHash  = HttpProxy.GetQueryString(ImageProcessor.FILE_HASH);


                var user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);
                if (string.IsNullOrEmpty(galleryId) || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (!ImageGalleryHelper.IsOwner(DBProxy, SessionProvider, galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                var filter = new JObject();
                filter[CommonConst.CommonField.DISPLAY_ID] = galleryId;
                var galleryData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString());
                if (galleryData == null)
                {
                    Logger.Error(string.Format("Gallery Not found :  Gallery: {0} ", galleryId));

                    return(ResponseBuilder.CreateReponse(CommonConst._404_RESOURCE_NOT_FOUND));
                }
                if (galleryData[ImageProcessor.FILE_HASHS] == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
                var filehashData = (galleryData[ImageProcessor.FILE_HASHS] as JArray).FirstOrDefault(f => f.ToString() == fileHash);
                if (filehashData != null)
                {
                    (galleryData[ImageProcessor.FILE_HASHS] as JArray).Remove(filehashData);
                    DBProxy.Update(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString(), galleryData, false, MergeArrayHandling.Replace);
                    JObject responseData = new JObject();
                    responseData[ImageProcessor.FILE_HASH] = fileHash;
                    return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, responseData));
                }
                else
                {
                    Logger.Error(string.Format("File Hash Not found : FileHash: {0} Gallery: {1} ", fileHash, galleryId));
                    return(ResponseBuilder.CreateReponse(CommonConst._404_RESOURCE_NOT_FOUND));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
示例#9
0
        public bool Send()
        {
            try
            {
                string emailQueueId = _paramContainer.GetKey(CommonConst.CommonValue.EMAIL_QUEUE_ID);

                if (string.IsNullOrEmpty(emailQueueId))
                {
                    Logger.Error("Error : emailQueueId not found");
                    return(false);
                }

                var emailData = DBProxy.FirstOrDefault(CommonConst.Collection.EMAIL_QUEUE, CommonConst.CommonField.DISPLAY_ID, emailQueueId);
                if (emailData == null)
                {
                    Logger.Error(string.Format("Error : emailData not found for id : {0}", emailQueueId));
                    return(false);
                }

                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient(AppSettingService.GetAppSettingData(CommonConst.CommonField.SMTP_SERVER));

                mail.From = new MailAddress(emailData[CommonConst.CommonField.FROM].ToString());
                foreach (var item in emailData[CommonConst.CommonField.TO])
                {
                    mail.To.Add(item.ToString());
                }

                mail.Subject    = emailData[CommonConst.CommonField.SUBJECT].ToString();
                mail.Body       = emailData[CommonConst.CommonField.BODY].ToString();
                mail.IsBodyHtml = true;
                int port = 587;
                int.TryParse(AppSettingService.GetAppSettingData(CommonConst.CommonField.SMTP_SERVER_PORT), out port);
                SmtpServer.Port = port;
                var user     = AppSettingService.GetAppSettingData(CommonConst.CommonField.SMTP_SERVER_USER);
                var password = AppSettingService.GetAppSettingData(CommonConst.CommonField.SMTP_SERVER_PASSWORD);
                SmtpServer.Credentials = new System.Net.NetworkCredential(user, password);
                SmtpServer.EnableSsl   = true;
                SmtpServer.Send(mail);
                return(true);
            }
            catch (Exception ex)
            {
                Logger.Error(string.Format("Error sending email : {0}", ex.Message), ex);
                return(false);
            }
        }
示例#10
0
        private bool Validate(string userId, string password)
        {
            var     passwordHash = EncryptionService.GetHash(password);
            JObject filter       = new JObject();

            filter[CommonConst.CommonField.USER_ID]    = userId;
            filter[CommonConst.CommonField.PASSWORD]   = passwordHash;
            filter[CommonConst.CommonField.IS_ENABLED] = true;
            var user = DBProxy.FirstOrDefault(CommonConst.Collection.USERS, filter.ToString());

            if (user != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#11
0
        protected JObject CreateSesssion(string authToken, string userId, string redirect_url = null)
        {
            var user = DBProxy.FirstOrDefault <UserModel>(CommonConst.Collection.USERS, CommonConst.CommonField.USER_ID, userId);

            SessionProvider.SetValue(CommonConst.CommonValue.SESSION_USER_KEY, user);
            SessionProvider.SetValue(AUTH_TOKEN, authToken);

            var rurl = AppSettingService.GetAppSettingData(ModuleAppConsts.Field.SIGNUP_LENDING_PAGE_SETTING_KEY);

            JObject resonseData = new JObject();

            if (string.IsNullOrEmpty(redirect_url))
            {
                resonseData[CommonConst.CommonField.REDIRECT_URL_KEY] = rurl;
            }
            else
            {
                resonseData[CommonConst.CommonField.REDIRECT_URL_KEY] = string.Format("{0}?{1}={2}", rurl, CommonConst.CommonField.REDIRECT_URL_KEY, redirect_url);
            }
            return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, null, resonseData));
        }
示例#12
0
        public JObject Login()
        {
            Logger.Debug("Calling LoginController.Login");
            JObject request = HttpProxy.GetRequestBody <JObject>();

            if (request == null)
            {
                return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
            }

            var user_id           = request[CommonConst.CommonField.USER_ID].ToString();
            var password          = request[CommonConst.CommonField.PASSWORD].ToString();
            var recaptchaResponse = request[ModuleAppConsts.Field.GOOGLE_RECAPTCHA_RESPONSE_KEY].ToString();

            if (!GoogleCaptchaHelper.ValidateResponse(Logger, recaptchaResponse, AppSettingService.GetAppSettingData(ModuleAppConsts.Field.GOOGLE_INVISIBLE_RECAPTCHA_SECRECT_SETTING_KEY), AppSettingService.GetAppSettingData(ModuleAppConsts.Field.GOOGLE_RECAPTCHA_VALIDATE_URL_SETTING_KEY)))
            {
                Logger.Info("Captcha validate fail");
                return(ResponseBuilder.CreateReponse(AppResponseCode._CAPTCHA_VALIDATION_FAIL));
            }
            if (Validate(user_id, password))
            {
                JObject user = DBProxy.FirstOrDefault(CommonConst.Collection.USERS, CommonConst.CommonField.USER_ID, user_id);
                if (user == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED, user));
                }
                else
                {
                    UserModel userModel = JObjectHelper.Deserialize <UserModel>(user);
                    SessionProvider.SetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY, userModel);
                    return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS));
                }
            }
            else
            {
                return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
            }
        }
示例#13
0
        public JObject ResetPassword()
        {
            try
            {
                Logger.Debug("Calling ResetPassword");
                JObject request = HttpProxy.GetRequestBody <JObject>();
                Logger.Debug("ResetPassword Request data", request);

                var redirect_url = HttpProxy.GetQueryString(CommonConst.CommonField.REDIRECT_URL_KEY);
                if (request == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                var otp                = request[CommonConst.CommonField.OTP].ToString();
                var requestUser        = GetUserDataFromRequest(request);
                var forgetpasswordUser = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SIGN_UP_SESSION_USER_KEY);
                if (forgetpasswordUser == null)
                {
                    return(ResponseBuilder.CreateReponse(AppResponseCode._SESSION_USER_NOT_FOUND));
                }
                if (forgetpasswordUser.user_id != requestUser.user_id)
                {
                    return(ResponseBuilder.CreateReponse(AppResponseCode._SESSION_USER_DATA_MISMATCH));
                }

                if (request[CommonConst.CommonField.PASSWORD].ToString() != request[CommonConst.CommonField.CONFIRM_PASSWORD].ToString())
                {
                    return(ResponseBuilder.CreateReponse(AppResponseCode._SESSION_USER_DATA_MISMATCH));
                }

                var capchaChecked = SessionProvider.GetValue <bool>(USER_REGISTRATION_CAPCHA_VALIDATION_SESSION_KEY);

                if (!capchaChecked)
                {
                    Logger.Info("Captcha validate fail");
                    return(ResponseBuilder.CreateReponse(AppResponseCode._CAPTCHA_VALIDATION_FAIL));
                }

                bool OTPValidate = false;
                if (requestUser.user_type == UserIDType.PhoneNumber.ToString() && OTPService.Validate(requestUser.user_id, otp, OTPType.Forgetpassword, string.Empty))
                {
                    OTPValidate = true;
                }
                else if (requestUser.user_type == UserIDType.Email.ToString() && OTPService.ValidateEmail(requestUser.user_id, otp, OTPType.Forgetpassword, string.Empty))
                {
                    OTPValidate = true;
                }
                else
                {
                    Logger.Error("Error OTP validation fail");
                    return(ResponseBuilder.CreateReponse(AppResponseCode._OTP_VALIDATION_FAIL));
                }

                if (ResetPass(requestUser, request[CommonConst.CommonField.PASSWORD].ToString()) && OTPValidate)
                {
                    var user = DBProxy.FirstOrDefault <UserModel>(CommonConst.Collection.USERS, CommonConst.CommonField.USER_ID, requestUser.user_id);

                    var     rurl        = AppSettingService.GetAppSettingData(ModuleAppConsts.Field.FORGET_PASS_LENDING_PAGE_SETTING_KEY);
                    JObject resonseData = new JObject();
                    if (string.IsNullOrEmpty(redirect_url))
                    {
                        resonseData[CommonConst.CommonField.REDIRECT_URL_KEY] = rurl;
                    }
                    else
                    {
                        resonseData[CommonConst.CommonField.REDIRECT_URL_KEY] = string.Format("{0}?{1}={2}", rurl, CommonConst.CommonField.REDIRECT_URL_KEY, redirect_url);
                    }
                    return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, null, resonseData));
                }
                else
                {
                    Logger.Error("Error while ResetPassword");
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(string.Format("Forgetpassword.ResetPassword error : {0}", ex.Message), ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
示例#14
0
        public JObject Update()
        {
            try
            {
                Logger.Debug(string.Format("Enter to UpdateContent.Update, SessionProvider:{0}", (SessionProvider == null ? "null" : "OK")));
                UserModel user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);

                if (user == null)
                {
                    Logger.Info(string.Format("Error in UpdateContent.Update: {0}", "user session is null"));
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
                JObject request = HttpProxy.GetRequestBody <JObject>();
                if (request == null)
                {
                    Logger.Info(string.Format("Error in UpdateContent.Update: {0}", "request object is null"));
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                string id         = string.Empty;
                string data       = string.Empty;
                string moduleName = string.Empty;
                if (request[CommonConst.CommonField.DISPLAY_ID] != null &&
                    request[CommonConst.CommonField.DATA] != null &&
                    request[CommonConst.CommonField.MODULE_NAME] != null

                    )
                {
                    id         = request[CommonConst.CommonField.DISPLAY_ID].ToString();
                    data       = request[CommonConst.CommonField.DATA].ToString();
                    moduleName = request[CommonConst.CommonField.MODULE_NAME].ToString();
                }

                if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(data) || string.IsNullOrEmpty(moduleName))
                {
                    Logger.Error(string.Format("Error in UpdateContent.Update: {0}", " id/data/moduleName empty"));
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                Logger.Debug("Get   data for UpdateContent.Update", request);

                JObject updateFilter = new JObject();
                updateFilter[CommonConst.CommonField.DISPLAY_ID] = id;
                if (moduleName != _contentUpdateModuleName)
                {
                    var originalData = DBProxy.FirstOrDefault(CommonConst.Collection.STATIC_CONTECT, updateFilter.ToString());
                    if (originalData == null)
                    {
                        Logger.Error(string.Format("Error in UpdateContent.Update: {0}, collection{1}, filter {2}", "originalData is null", CommonConst.Collection.STATIC_CONTECT, updateFilter.ToString()));
                        return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                    }
                    //bool isOverride = true;
                    //bool.TryParse(originalData[CommonConst.CommonField.IS_OVERRIDE].ToString(), out isOverride);
                    //if (isOverride)
                    //{
                    //    Logger.Error(string.Format("Error in UpdateContent.Update: {0}", "isOverride parameter is true in the oroginal data"));
                    //    return ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR);
                    //}
                    originalData[CommonConst.CommonField.IS_OVERRIDE] = true;
                    originalData[CommonConst.CommonField.OVERRIDE_BY] = _contentUpdateModuleName;

                    if (DBProxy.Update(CommonConst.Collection.STATIC_CONTECT, updateFilter.ToString(), originalData) != 1)
                    {
                        Logger.Error(string.Format("Error in UpdateContent.Update: {0}", "error updating originalData"));
                        return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                    }

                    originalData[CommonConst.CommonField.DISPLAY_ID]  = CommonUtility.GetNewID();
                    originalData[CommonConst.CommonField.IS_OVERRIDE] = false;
                    originalData[CommonConst.CommonField.OVERRIDE_BY] = _contentUpdateModuleName;
                    originalData[CommonConst.CommonField.DATA]        = data;
                    originalData[_contentHistory] = new JArray();

                    JObject filterFindExistingCustomization = new JObject();
                    filterFindExistingCustomization[CommonConst.CommonField.MODULE_NAME] = _contentUpdateModuleName;
                    filterFindExistingCustomization[CommonConst.CommonField.FILE_PATH]   = originalData[CommonConst.CommonField.FILE_PATH].ToString();
                    var existingData = DBProxy.FirstOrDefault(CommonConst.Collection.STATIC_CONTECT, filterFindExistingCustomization.ToString());
                    if (existingData == null)
                    {
                        if (!DBProxy.Write(CommonConst.Collection.STATIC_CONTECT, originalData))
                        {
                            Logger.Error(string.Format("Error in UpdateContent.Update: {0}", "error adding  new data"));
                            return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                        }
                    }
                    else
                    {
                        if (!UpdateCustomContentData(existingData, user, data, filterFindExistingCustomization))
                        {
                            return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                        }
                    }
                    return(ReturnSuccess(originalData));
                }
                else
                {
                    var contentCustomData = DBProxy.FirstOrDefault(CommonConst.Collection.STATIC_CONTECT, updateFilter.ToString());
                    if (contentCustomData == null)
                    {
                        Logger.Error(string.Format("Error in UpdateContent.Update: {0}", "contentCustomData  is null"));
                        return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                    }
                    if (!UpdateCustomContentData(contentCustomData, user, data, updateFilter))
                    {
                        return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                    }
                    return(ReturnSuccess(contentCustomData));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(string.Format("Error in  UpdateContent.Update: {0}", ex.Message), ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
示例#15
0
 protected JObject GetUser(string userId, UserIDType userIdType)
 {
     return(DBProxy.FirstOrDefault <JObject>(CommonConst.Collection.USERS, CommonConst.CommonField.USER_ID, userId));
 }
示例#16
0
        public JObject CreateUser()
        {
            Logger.Debug("Calling CreateUser");
            JObject request      = HttpProxy.GetRequestBody <JObject>();
            var     redirect_url = HttpProxy.GetQueryString(CommonConst.CommonField.REDIRECT_URL_KEY);

            if (request == null)
            {
                return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
            }
            var requestUser = GetUserDataFromRequest(request);

            if (IsOTPCheckEnable())
            {
                var signUpUser = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SIGN_UP_SESSION_USER_KEY);
                if (signUpUser == null)
                {
                    return(ResponseBuilder.CreateReponse(AppResponseCode._SESSION_USER_NOT_FOUND));
                }
                if (signUpUser.user_id != requestUser.user_id)
                {
                    return(ResponseBuilder.CreateReponse(AppResponseCode._SESSION_USER_DATA_MISMATCH));
                }
            }

            if (request[CommonConst.CommonField.PASSWORD].ToString() != request[CommonConst.CommonField.CONFIRM_PASSWORD].ToString())
            {
                return(ResponseBuilder.CreateReponse(AppResponseCode._SESSION_USER_DATA_MISMATCH));
            }

            var recaptchaResponse = request[ModuleAppConsts.Field.GOOGLE_RECAPTCHA_RESPONSE_KEY].ToString();
            var capchaChecked     = SessionProvider.GetValue <bool>(USER_REGISTRATION_CAPCHA_VALIDATION_SESSION_KEY);

            if (capchaChecked && !GoogleCaptchaHelper.ValidateResponse(Logger, recaptchaResponse, AppSettingService.GetAppSettingData(ModuleAppConsts.Field.GOOGLE_RECAPTCHA_SECRECT_SETTING_KEY), AppSettingService.GetAppSettingData(ModuleAppConsts.Field.GOOGLE_RECAPTCHA_VALIDATE_URL_SETTING_KEY)))
            {
                Logger.Info("Captcha validate fail");
                return(ResponseBuilder.CreateReponse(AppResponseCode._CAPTCHA_VALIDATION_FAIL));
            }
            else
            {
                SessionProvider.SetValue <bool>(USER_REGISTRATION_CAPCHA_VALIDATION_SESSION_KEY, true);
            }
            if (!IsUserExists(requestUser.user_id))
            {
                if (CreateUser(requestUser, request[CommonConst.CommonField.PASSWORD].ToString()))
                {
                    var user = DBProxy.FirstOrDefault <UserModel>(CommonConst.Collection.USERS, CommonConst.CommonField.USER_ID, requestUser.user_id);
                    if (user == null)
                    {
                        Logger.Error(string.Format("User not found user_id : {0} ", requestUser.user_id));
                        return(ResponseBuilder.CreateReponse(AppResponseCode._USER_NOT_FOUND));
                    }
                    else
                    {
                        SessionProvider.SetValue(CommonConst.CommonValue.SESSION_USER_KEY, user);
                        var     rurl        = AppSettingService.GetAppSettingData(ModuleAppConsts.Field.SIGNUP_LENDING_PAGE_SETTING_KEY);
                        JObject resonseData = new JObject();
                        if (string.IsNullOrEmpty(redirect_url))
                        {
                            resonseData[CommonConst.CommonField.REDIRECT_URL_KEY] = rurl;
                        }
                        else
                        {
                            resonseData[CommonConst.CommonField.REDIRECT_URL_KEY] = string.Format("{0}?{1}={2}", rurl, CommonConst.CommonField.REDIRECT_URL_KEY, redirect_url);
                        }
                        return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, null, resonseData));
                    }
                }
                else
                {
                    Logger.Error("Error while addd new user");
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
            }
            else
            {
                Logger.Info(string.Format("User Exits with this phone number {0}", requestUser.user_id));
                return(ResponseBuilder.CreateReponse(AppResponseCode._USER_EXISTS));
            }
        }
示例#17
0
        private void AddToUserView(string galleryId, string fileHash)
        {
            Logger.Debug("Adding UserViews");

            var filter = new JObject();

            filter[ImageProcessor.FILE_HASH] = fileHash;
            var viewData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_IMAGE_VIEW_COLLECTION, filter.ToString());

            if (viewData == null)
            {
                viewData = new JObject();
                viewData[ImageProcessor.USERS] = new JArray();
                viewData[ImageProcessor.COUNT] = 0;
                viewData[CommonConst.CommonField.DISPLAY_ID] = CommonUtility.GetNewID();
            }
            var viewCount = 0;

            viewData[ImageProcessor.FILE_HASH] = fileHash;
            Logger.Debug("Getting existing Count");
            if (viewData[ImageProcessor.COUNT] != null)
            {
                int.TryParse(viewData[ImageProcessor.COUNT].ToString(), out viewCount);
            }

            viewData[ImageProcessor.COUNT] = viewCount + 1;
            Logger.Debug("Getting Session User ");
            var    user   = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);
            string userId = "-1";

            if (user != null)
            {
                userId = user.user_id;
            }

            Logger.Debug("Getting UserData", viewData);
            JToken userData = null;

            if (viewData[ImageProcessor.USERS] != null)
            {
                userData = (viewData[ImageProcessor.USERS] as JArray).FirstOrDefault(f => { return(f[CommonConst.CommonField.USER_ID] != null && f[CommonConst.CommonField.USER_ID].ToString() == userId); });
            }
            if (userData == null)
            {
                userData = new JObject();
                userData[CommonConst.CommonField.USER_ID] = userId;
                userData[ImageProcessor.COUNT]            = 0;
                if (viewData[ImageProcessor.USERS] == null)
                {
                    viewData[ImageProcessor.USERS] = new JArray();
                }
                (viewData[ImageProcessor.USERS] as JArray).Add(userData);
            }
            var userViewCount = 0;

            Logger.Debug("Getting existing user Count");
            if (userData[ImageProcessor.COUNT] != null)
            {
                int.TryParse(userData[ImageProcessor.COUNT].ToString(), out userViewCount);
            }

            userData[ImageProcessor.COUNT] = userViewCount + 1;

            DBProxy.Update(ImageProcessor.MYPHOTO_IMAGE_VIEW_COLLECTION, filter.ToString(), viewData, true, MergeArrayHandling.Replace);
        }