コード例 #1
0
        public ResponseModel <string> CreateTemplate(List <CreateTemplateQuestionInfoModel> req, string username)
        {
            var response = new ResponseModel <string>();

            var keyInfo  = _db.CreateTemplateQuestionInfoes.FirstOrDefault();
            var refKey   = username;
            var digitKey = 0;

            if (keyInfo != null)
            {
                digitKey = _db.CreateTemplateQuestionInfoes.Max(x => x.Id) + 1;
            }
            else
            {
                digitKey = 1;
            }
            refKey += digitKey;
            var createTemplateQuestionsInfoInsert = new CreateTemplateQuestionInfo
            {
                buttonText   = "NA",
                username     = username,
                title        = req[0].title,
                visible      = "NA",
                type         = "NA",
                creationTime = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                referenceId  = refKey,
                total        = "NA",
                completed    = "NA",
                verified     = "NA"
            };

            _db.CreateTemplateQuestionInfoes.Add(createTemplateQuestionsInfoInsert);

            try
            {
                _db.SaveChanges();
                CreateSubTemplateByRefKey CreateSubTemplateByRefKey = new CreateSubTemplateByRefKey();
                CreateSubTemplateByRefKey.CreateSubTemplateByRefKeyService(req, username, refKey);
                response.Status  = 200;
                response.Message = "success-" + digitKey;
                response.Payload = refKey;
            }
            catch (DbEntityValidationException e)
            {
                DbContextException.LogDbContextException(e);
                response.Status  = 500;
                response.Message = "Failed";
                response.Payload = "Exception Occured";
            }

            return(response);
        }
コード例 #2
0
ファイル: AuthService.cs プロジェクト: sumitc91/M2E
        public ResponseModel <String> ForgetPasswordService(string id, HttpRequestBase request)
        {
            var response = new ResponseModel <string>();

            if (_db.Users.Any(x => x.Username == id))
            {
                var user = _db.Users.SingleOrDefault(x => x.Username == id);
                if (user != null && (user.isActive.Equals("false", StringComparison.InvariantCulture)))
                {
                    // User account has not validated yet
                    response.Status  = 402;
                    response.Message = "warning";
                    return(response);
                }
                var forgetPasswordDataAlreadyExists = _db.ForgetPasswords.SingleOrDefault(x => x.Username == id);
                if (forgetPasswordDataAlreadyExists != null)
                {
                    _db.ForgetPasswords.Remove(forgetPasswordDataAlreadyExists);
                }
                var guid = Guid.NewGuid().ToString();
                var forgetPasswordData = new ForgetPassword
                {
                    Username = id,
                    guid     = guid
                };
                _db.ForgetPasswords.Add(forgetPasswordData);
                try
                {
                    _db.SaveChanges();
                    var forgetPasswordValidationEmail = new ForgetPasswordValidationEmail();
                    forgetPasswordValidationEmail.SendForgetPasswordValidationEmailMessage(id, guid, request, DateTime.Now.Ticks.ToString(CultureInfo.InvariantCulture));
                }
                catch (DbEntityValidationException e)
                {
                    DbContextException.LogDbContextException(e);
                    response.Status  = 500;
                    response.Message = "Internal Server Error";
                    return(response);
                }
            }
            else
            {
                // User doesn't exist
                response.Status  = 404;
                response.Message = "warning";
                return(response);
            }
            response.Status  = 200;
            response.Message = "Success";
            return(response);
        }
コード例 #3
0
ファイル: AuthService.cs プロジェクト: sumitc91/M2E
        public ResponseModel <String> ResendValidationCodeService(ValidateAccountRequest req, HttpRequestBase request)
        {
            var response = new ResponseModel <string>();

            if (_db.Users.Any(x => x.Username == req.userName))
            {
                var user = _db.Users.SingleOrDefault(x => x.Username == req.userName);
                if (user != null && (user.isActive == "true"))
                {
                    // Account has been already validated.
                    response.Status  = 402;
                    response.Message = "warning";
                    return(response);
                }
                var guidAlreadyExist = _db.ValidateUserKeys.SingleOrDefault(x => x.Username == req.userName);
                if (guidAlreadyExist != null)
                {
                    _db.ValidateUserKeys.Remove(guidAlreadyExist);
                }
                var dbValidateUserKey = new ValidateUserKey
                {
                    guid     = Guid.NewGuid().ToString(),
                    Username = req.userName
                };
                _db.ValidateUserKeys.Add(dbValidateUserKey);
                try
                {
                    _db.SaveChanges();
                    SendAccountCreationValidationEmail.SendAccountCreationValidationEmailMessage(req.userName, dbValidateUserKey.guid, request);
                }
                catch (DbEntityValidationException e)
                {
                    DbContextException.LogDbContextException(e);
                    response.Status  = 500;
                    response.Message = "Internal Server Error !!!";
                    return(response);
                }
                response.Status  = 200;
                response.Message = "success";
                return(response);
            }
            // User Doesn't Exist
            response.Status  = 404;
            response.Message = "warning";
            return(response);
        }
コード例 #4
0
        public ResponseModel <string> ImgurImagesSaveToDatabaseWithTemplateId(List <imgurUploadImageResponse> ImgurList, string username, string id)
        {
            var response = new ResponseModel <string>();

            var refKey = id;

            foreach (var imageInfo in ImgurList)
            {
                var CreateTemplateImgurImagesListInsert = new CreateTemplateImgurImagesList
                {
                    assignedTo      = "NA",
                    assignTime      = "NA",
                    completedAt     = "NA",
                    referenceKey    = refKey,
                    status          = "open",
                    username        = username,
                    verified        = "No",
                    imgurId         = imageInfo.data.id,
                    imgurDeleteHash = imageInfo.data.deletehash,
                    imgurLink       = imageInfo.data.link
                };

                _db.CreateTemplateImgurImagesLists.Add(CreateTemplateImgurImagesListInsert);
            }
            try
            {
                _db.SaveChanges();
                response.Status  = 200;
                response.Message = "Success";
                response.Payload = "Successfully Added";
            }
            catch (DbEntityValidationException e)
            {
                DbContextException.LogDbContextException(e);
                response.Status  = 500;
                response.Message = "Failed";
                response.Payload = "Exception Occured";
            }

            return(response);
        }
コード例 #5
0
        public ResponseModel <string> CreateTemplateWithId(List <CreateTemplateQuestionInfoModel> req, string username, string id)
        {
            var response = new ResponseModel <string>();

            var refKey = username + id;

            var createTemplateQuestionsInfoInsert = new CreateTemplateQuestionInfo
            {
                buttonText   = "NA",
                username     = username,
                title        = req[0].title,
                visible      = "NA",
                type         = "NA",
                creationTime = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                referenceId  = refKey,
                total        = "NA",
                completed    = "NA",
                verified     = "NA"
            };

            _db.CreateTemplateQuestionInfoes.Add(createTemplateQuestionsInfoInsert);

            try
            {
                _db.SaveChanges();
                CreateSubTemplateByRefKey CreateSubTemplateByRefKey = new CreateSubTemplateByRefKey();
                CreateSubTemplateByRefKey.CreateSubTemplateByRefKeyService(req, username, refKey);
                response.Status  = 200;
                response.Message = "Success";
                response.Payload = "Successfully Created";
            }
            catch (DbEntityValidationException e)
            {
                DbContextException.LogDbContextException(e);
                response.Status  = 500;
                response.Message = "Failed";
                response.Payload = "Exception Occured";
            }

            return(response);
        }
コード例 #6
0
        public ResponseModel <string> DeleteTemplateImgurImageById(string username, long id)
        {
            var response = new ResponseModel <string>();

            try
            {
                var createTemplateImgurImagesListsCreateResponse = _db.CreateTemplateImgurImagesLists.OrderBy(x => x.Id).Where(x => x.Id == id && x.username == username).ToList();

                if (createTemplateImgurImagesListsCreateResponse != null)
                {
                    foreach (var createTemplateImgurImageCreateResponse in createTemplateImgurImagesListsCreateResponse)
                    {
                        _db.CreateTemplateImgurImagesLists.Remove(createTemplateImgurImageCreateResponse);
                    }
                }

                try
                {
                    _db.SaveChanges();
                    response.Status  = 200;
                    response.Message = "Success";
                    response.Payload = "Successfully Deleted";
                }
                catch (DbEntityValidationException e)
                {
                    DbContextException.LogDbContextException(e);
                    response.Status  = 500;
                    response.Message = "Failed";
                    response.Payload = "Exception Occured";
                }

                return(response);
            }
            catch (Exception)
            {
                response.Status  = 500;
                response.Message = "Exception";
                return(response);
            }
        }
コード例 #7
0
ファイル: AuthService.cs プロジェクト: sumitc91/M2E
        public ResponseModel <String> ValidateAccountService(ValidateAccountRequest req)
        {
            var response = new ResponseModel <string>();

            if (_db.ValidateUserKeys.Any(x => x.Username == req.userName && x.guid == req.guid))
            {
                var user = _db.Users.SingleOrDefault(x => x.Username == req.userName);
                if (user == null)
                {
                    response.Status  = 500;
                    response.Message = "Internal Server Error";
                    Logger.Info("Validate Account : " + req.userName);
                    return(response);
                }
                if (user.isActive == "true")
                {
                    response.Status  = 402;
                    response.Message = "link expired";
                    return(response);
                }
                user.isActive = "true";
                try
                {
                    _db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    DbContextException.LogDbContextException(e);
                    response.Status  = 500;
                    response.Message = "Internal Server Error";
                    return(response);
                }
                response.Status  = 200;
                response.Message = "validated";
                return(response);
            }
            response.Status  = 402;
            response.Message = "link expired";
            return(response);
        }
コード例 #8
0
ファイル: WebLogin.cs プロジェクト: sumitc91/M2E
        public LoginResponse Login(string userName, string passwrod, string returnUrl, string keepMeSignedIn)
        {
            var userData = new LoginResponse();

            if (_db.Users.Any(x => x.Username == userName && x.Password == passwrod))
            {
                var user = _db.Users.SingleOrDefault(x => x.Username == userName && x.isActive == "true");
                if (user != null)
                {
                    string Authkey = ConfigurationManager.AppSettings["AuthKey"];
                    userData.UTMZK     = EncryptionClass.GetEncryptionKey(user.Username, Authkey);
                    userData.UTMZV     = EncryptionClass.GetEncryptionKey(user.Password, Authkey);
                    userData.TimeStamp = DateTime.Now.ToString(CultureInfo.InvariantCulture);
                    userData.Code      = "200";
                    try
                    {
                        user.KeepMeSignedIn = keepMeSignedIn.Equals("true", StringComparison.OrdinalIgnoreCase)? "true" : "false";
                        _db.SaveChanges();
                    }
                    catch (DbEntityValidationException e)
                    {
                        DbContextException.LogDbContextException(e);
                        userData.Code = "500";
                        return(userData);
                    }
                }
                else
                {
                    userData.Code = "403";
                }
            }
            else
            {
                userData.Code = "401";
            }
            return(userData);
        }
コード例 #9
0
ファイル: AuthService.cs プロジェクト: sumitc91/M2E
        public ResponseModel <String> ResetPasswordService(ResetPasswordRequest req)
        {
            var response = new ResponseModel <string>();

            //EncryptionClass.GetDecryptionValue(req.Username, ConfigurationManager.AppSettings["AuthKey"]);
            if (_db.ForgetPasswords.Any(x => x.guid == req.Guid))
            {
                var removeForgetPasswordData = _db.ForgetPasswords.SingleOrDefault(x => x.guid == req.Guid);
                _db.ForgetPasswords.Remove(removeForgetPasswordData);

                var userData = _db.Users.SingleOrDefault(x => x.Username == removeForgetPasswordData.Username);
                if (userData != null)
                {
                    var password = EncryptionClass.Md5Hash(req.Password);
                    userData.Password = password;
                    userData.Locked   = "false";
                }
                try
                {
                    _db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    DbContextException.LogDbContextException(e);
                    response.Status  = 500;
                    response.Message = "Internal Server Error.";
                    Logger.Info("Save new Reseted Password : "******"Success";
                return(response);
            }
            response.Status  = 402;
            response.Message = "link expired";
            return(response);
        }
コード例 #10
0
        public ResponseModel <string> EditTemplateDetailById(List <CreateTemplateQuestionInfoModel> req, string username, long id)
        {
            var response = new ResponseModel <string>();

            try
            {
                var templateData = _db.CreateTemplateQuestionInfoes.SingleOrDefault(x => x.Id == id && x.username == username);
                var createTemplateeditableInstructionsListsCreateResponse = _db.CreateTemplateeditableInstructionsLists.OrderBy(x => x.Id).Where(x => x.referenceKey == templateData.referenceId && x.username == username).ToList();
                var createTemplateSingleQuestionsListsCreateResponse      = _db.CreateTemplateSingleQuestionsLists.OrderBy(x => x.Id).Where(x => x.referenceKey == templateData.referenceId && x.username == username).ToList();
                var createTemplateMultipleQuestionsListsCreateResponse    = _db.CreateTemplateMultipleQuestionsLists.OrderBy(x => x.Id).Where(x => x.referenceKey == templateData.referenceId && x.username == username).ToList();
                var createTemplateTextBoxQuestionsListsCreateResponse     = _db.CreateTemplateTextBoxQuestionsLists.OrderBy(x => x.Id).Where(x => x.referenceKey == templateData.referenceId && x.username == username).ToList();
                var createTemplateListBoxQuestionsListsCreateResponse     = _db.CreateTemplateListBoxQuestionsLists.OrderBy(x => x.Id).Where(x => x.referenceKey == templateData.referenceId && x.username == username).ToList();

                if (createTemplateeditableInstructionsListsCreateResponse != null)
                {
                    foreach (var createTemplateeditableInstructionCreateResponse in createTemplateeditableInstructionsListsCreateResponse)
                    {
                        _db.CreateTemplateeditableInstructionsLists.Remove(createTemplateeditableInstructionCreateResponse);
                    }
                }

                if (createTemplateSingleQuestionsListsCreateResponse != null)
                {
                    foreach (var createTemplateSingleQuestionCreateResponse in createTemplateSingleQuestionsListsCreateResponse)
                    {
                        _db.CreateTemplateSingleQuestionsLists.Remove(createTemplateSingleQuestionCreateResponse);
                    }
                }

                if (createTemplateMultipleQuestionsListsCreateResponse != null)
                {
                    foreach (var createTemplateMultipleQuestionCreateResponse in createTemplateMultipleQuestionsListsCreateResponse)
                    {
                        _db.CreateTemplateMultipleQuestionsLists.Remove(createTemplateMultipleQuestionCreateResponse);
                    }
                }

                if (createTemplateTextBoxQuestionsListsCreateResponse != null)
                {
                    foreach (var createTemplateTextBoxQuestionCreateResponse in createTemplateTextBoxQuestionsListsCreateResponse)
                    {
                        _db.CreateTemplateTextBoxQuestionsLists.Remove(createTemplateTextBoxQuestionCreateResponse);
                    }
                }

                if (createTemplateListBoxQuestionsListsCreateResponse != null)
                {
                    foreach (var createTemplateListBoxQuestionCreateResponse in createTemplateListBoxQuestionsListsCreateResponse)
                    {
                        _db.CreateTemplateListBoxQuestionsLists.Remove(createTemplateListBoxQuestionCreateResponse);
                    }
                }


                try
                {
                    templateData.title = req[0].title;
                    _db.SaveChanges();
                    CreateSubTemplateByRefKey CreateSubTemplateByRefKey = new CreateSubTemplateByRefKey();
                    CreateSubTemplateByRefKey.CreateSubTemplateByRefKeyService(req, username, templateData.referenceId);

                    response.Status  = 200;
                    response.Message = "Success";
                    response.Payload = "Successfully Edited";
                }
                catch (DbEntityValidationException e)
                {
                    DbContextException.LogDbContextException(e);
                    response.Status  = 500;
                    response.Message = "Failed";
                    response.Payload = "Exception Occured";
                }

                return(response);
            }
            catch (Exception)
            {
                response.Status  = 500;
                response.Message = "Exception";
                return(response);
            }
        }
コード例 #11
0
ファイル: WebRegister.cs プロジェクト: sumitc91/M2E
        public ResponseModel <String> WebRegisterService(RegisterationRequest req, HttpRequestBase request)
        {
            var response = new ResponseModel <String>();

            if (_db.Users.Any(x => x.Username == req.Username))
            {
                response.Status  = 409;
                response.Message = "conflict";
                return(response);
            }

            var guid = Guid.NewGuid().ToString();
            var user = new User
            {
                Username  = req.Username,
                Password  = EncryptionClass.Md5Hash(req.Password),
                Source    = req.Source,
                isActive  = "false",
                Type      = req.Type,
                guid      = Guid.NewGuid().ToString(),
                FirstName = req.FirstName,
                LastName  = req.LastName,
                gender    = "NA",
                ImageUrl  = "NA"
            };

            _db.Users.Add(user);

            if (!string.IsNullOrEmpty(req.Referral))
            {
                var dbRecommedBy = new RecommendedBy
                {
                    RecommendedFrom = req.Referral,
                    RecommendedTo   = req.Username
                };
                _db.RecommendedBies.Add(dbRecommedBy);
            }
            if (req.Type == "client")
            {
                var dbClientDetails = new ClientDetail
                {
                    Username    = req.Username,
                    CompanyName = req.CompanyName
                };
                _db.ClientDetails.Add(dbClientDetails);
            }
            var dbValidateUserKey = new ValidateUserKey
            {
                Username = req.Username,
                guid     = guid
            };

            _db.ValidateUserKeys.Add(dbValidateUserKey);

            try
            {
                _db.SaveChanges();
                SendAccountCreationValidationEmail.SendAccountCreationValidationEmailMessage(req.Username, guid, request);
            }
            catch (DbEntityValidationException e)
            {
                DbContextException.LogDbContextException(e);
                response.Status  = 500;
                response.Message = "Internal Server Error !!!";
                return(response);
            }

            response.Status  = 200;
            response.Message = "success";
            response.Payload = "Account Created";

            return(response);
        }
コード例 #12
0
        public ResponseModel <string> CreateSubTemplateByRefKeyService(List <CreateTemplateQuestionInfoModel> req, string username, string refKey)
        {
            var response = new ResponseModel <string>();

            foreach (var templateQuestions in req)
            {
                if (templateQuestions.visible == false)
                {
                    continue;
                }
                switch (templateQuestions.type)
                {
                case "AddInstructions":
                    foreach (var instructionsList in templateQuestions.editableInstructionsList)
                    {
                        var createTemplateeditableInstructionsListInsert = new CreateTemplateeditableInstructionsList
                        {
                            username     = username,
                            Number       = instructionsList.Number,
                            Text         = instructionsList.Text,
                            assignTime   = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                            assignedTo   = "NA",
                            completedAt  = "NA",
                            referenceKey = refKey,
                            status       = "Open",
                            verified     = "NA"
                        };
                        _db.CreateTemplateeditableInstructionsLists.Add(createTemplateeditableInstructionsListInsert);
                    }
                    break;

                case "AddSingleQuestionsList":
                    foreach (var singleQuestionList in templateQuestions.singleQuestionsList)
                    {
                        var createTemplateSingleQuestionsListInsert = new CreateTemplateSingleQuestionsList
                        {
                            username     = username,
                            Number       = singleQuestionList.Number,
                            Question     = singleQuestionList.Question,
                            Options      = singleQuestionList.Options,
                            assignTime   = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                            assignedTo   = "NA",
                            completedAt  = "NA",
                            referenceKey = refKey,
                            status       = "Open",
                            verified     = "NA"
                        };
                        _db.CreateTemplateSingleQuestionsLists.Add(createTemplateSingleQuestionsListInsert);
                    }
                    break;

                case "AddMultipleQuestionsList":
                    foreach (var multipleQuestionsList in templateQuestions.multipleQuestionsList)
                    {
                        var createTemplateMultipleQuestionsListInsert = new CreateTemplateMultipleQuestionsList
                        {
                            username     = username,
                            Number       = multipleQuestionsList.Number,
                            Question     = multipleQuestionsList.Question,
                            Options      = multipleQuestionsList.Options,
                            assignTime   = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                            assignedTo   = "NA",
                            completedAt  = "NA",
                            referenceKey = refKey,
                            status       = "Open",
                            verified     = "NA"
                        };
                        _db.CreateTemplateMultipleQuestionsLists.Add(createTemplateMultipleQuestionsListInsert);
                    }
                    break;

                case "AddTextBoxQuestionsList":
                    foreach (var textBoxQuestionsList in templateQuestions.textBoxQuestionsList)
                    {
                        var createTemplateTextBoxQuestionsListInsert = new CreateTemplateTextBoxQuestionsList
                        {
                            username     = username,
                            Number       = textBoxQuestionsList.Number,
                            Question     = textBoxQuestionsList.Question,
                            Options      = textBoxQuestionsList.Options,
                            assignTime   = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                            assignedTo   = "NA",
                            completedAt  = "NA",
                            referenceKey = refKey,
                            status       = "Open",
                            verified     = "NA"
                        };
                        _db.CreateTemplateTextBoxQuestionsLists.Add(createTemplateTextBoxQuestionsListInsert);
                    }
                    break;

                case "AddListBoxQuestionsList":
                    foreach (var listBoxQuestionsList in templateQuestions.listBoxQuestionsList)
                    {
                        var createTemplateListBoxQuestionsListInsert = new CreateTemplateListBoxQuestionsList
                        {
                            username     = username,
                            Number       = listBoxQuestionsList.Number,
                            Question     = listBoxQuestionsList.Question,
                            Options      = listBoxQuestionsList.Options,
                            assignTime   = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                            assignedTo   = "NA",
                            completedAt  = "NA",
                            referenceKey = refKey,
                            status       = "Open",
                            verified     = "NA"
                        };
                        _db.CreateTemplateListBoxQuestionsLists.Add(createTemplateListBoxQuestionsListInsert);
                    }
                    break;
                }
            }

            try
            {
                _db.SaveChanges();
                response.Status  = 200;
                response.Message = "Success";
                response.Payload = "Successfully Created";
            }
            catch (DbEntityValidationException e)
            {
                DbContextException.LogDbContextException(e);
                response.Status  = 500;
                response.Message = "Failed";
                response.Payload = "Exception Occured";
            }
            return(response);
        }