Exemple #1
0
        public IHttpActionResult GetFarmerImagesByVillageId([FromBody] FarmerReqViewModel farmerReqViewModel)
        {
            ResponseViewModel <List <GetFarmerByFarmerIdResVM> > responseViewModel = new ResponseViewModel <List <GetFarmerByFarmerIdResVM> >();

            try
            {
                if (_apiClientVaildationService.IsClientVaild(farmerReqViewModel.ClientUserName, farmerReqViewModel.ClientPassword))
                {
                    var data = _farmerService.GetFarmerByVillageId(farmerReqViewModel);
                    responseViewModel = data != null ? ResponseViewModel <List <GetFarmerByFarmerIdResVM> > .Succeeded(data, "") : ResponseViewModel <List <GetFarmerByFarmerIdResVM> > .Succeeded(data, "No Record Found");

                    return(Ok(responseViewModel));
                }
                else
                {
                    responseViewModel = ResponseViewModel <List <GetFarmerByFarmerIdResVM> > .Failed(Core.ResponseModel.StatusCode.Unauthorized, Core.Helper.Constants.StrMessage.InValidAccess, Core.Helper.Constants.StrMessage.InValidAccess, null, "", new List <GetFarmerByFarmerIdResVM>());

                    return(Ok(responseViewModel));
                }
            }
            catch (Exception err)
            {
                responseViewModel = ResponseViewModel <List <GetFarmerByFarmerIdResVM> > .Failed(Core.ResponseModel.StatusCode.Bad_Request, err.Message, err.Message, err, "", new List <GetFarmerByFarmerIdResVM>());

                return(Ok(responseViewModel));
            }
        }
Exemple #2
0
        public IHttpActionResult SaveFarmer([FromBody] FarmerReqViewModel farmerReqViewModel)
        {
            ResponseViewModel <Boolean> responseViewModel = new ResponseViewModel <Boolean>();

            try
            {
                if (_apiClientVaildationService.IsClientVaild(farmerReqViewModel.ClientUserName, farmerReqViewModel.ClientPassword))
                {
                    var data = _farmerService.SaveFarmer(farmerReqViewModel);
                    responseViewModel = ResponseViewModel <Boolean> .Succeeded(data, "");

                    return(Ok(responseViewModel));
                }
                else
                {
                    responseViewModel = ResponseViewModel <Boolean> .Failed(Core.ResponseModel.StatusCode.Unauthorized, Core.Helper.Constants.StrMessage.InValidAccess, Core.Helper.Constants.StrMessage.InValidAccess, null, "", new Boolean());

                    return(Ok(responseViewModel));
                }
            }
            catch (Exception err)
            {
                responseViewModel = ResponseViewModel <Boolean> .Failed(Core.ResponseModel.StatusCode.Bad_Request, err.Message, err.Message, err, "", new Boolean());

                return(Ok(responseViewModel));
            }
        }
Exemple #3
0
        /// <summary>
        ///  This method Returns Current Logged On User Details
        /// </summary>
        /// <returns></returns>
        public ResponseViewModel GetUserDetails()
        {
            var vendor = _userManager.FindByIdAsync(_httpContextAccessor.HttpContext.User.GetLoggedInUserId <int>().ToString()).Result;

            if (!vendor.EmailConfirmed)
            {
                return(ResponseViewModel.Failed(ResponseMessageViewModel.EMAIL_NOT_CONFIRMED, ResponseErrorCodeStatus.EMAIL_NOT_CONFIRMED));
            }

            var mappedResult = _mapper.Map <AppUser, VendorViewModel>(vendor);


            return(ResponseViewModel.Ok(mappedResult));
        }
Exemple #4
0
        /// <summary>
        ///  Method To Request For A New Token / OTP / Confirmation Code
        /// </summary>
        /// <param name="emailAddress"></param>
        /// <returns></returns>
        public ResponseViewModel RequestForOTP(string emailAddress, string platform)
        {
            try
            {
                var user = _userManager.FindByEmailAsync(emailAddress).Result;

                var code = _otpService.GenerateCode(user.Id, _settings.OtpExpirationInMinutes, platform);

                _ = _emailService.SendRequestTokenEmail(user.Email, code, platform);

                return(ResponseViewModel.Ok(ResponseMessageViewModel.CONFIRMATION_CODE_SENT.Replace(Placeholder.EMAIL_PLACEHOLDER, user.Email)).AddStatusCode(ResponseErrorCodeStatus.CONFIRMATION_CODE_SENT));
            } catch (Exception e) {
                return(ResponseViewModel.Failed(ResponseMessageViewModel.UNKOWN_ERROR, ResponseErrorCodeStatus.UNKOWN_ERROR));
            }
        }
Exemple #5
0
        /// <summary>
        ///  Asynchronous Method to Change Password
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ResponseViewModel> ChangePasswordAsync(ChangePasswordInputModel model)
        {
            var user = await _userManager.FindByIdAsync(_httpContextAccessor.HttpContext.User.GetLoggedInUserId <int>().ToString());

            if (!user.EmailConfirmed)
            {
                return(ResponseViewModel.Failed(ResponseMessageViewModel.EMAIL_NOT_CONFIRMED, ResponseErrorCodeStatus.EMAIL_NOT_CONFIRMED));
            }

            var result = await _userManager.ChangePasswordAsync(user, model.CurrentPassword, model.Password);

            if (!result.Succeeded)
            {
                return(ResponseViewModel.Failed(ResponseMessageViewModel.CHANGE_PASSWORD_FAILED, ResponseErrorCodeStatus.CHANGE_PASSWORD_FAILED));
            }

            return(ResponseViewModel.Ok());
        }
Exemple #6
0
        /// <summary>
        /// Asynchronous Method, To Reset Password
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        public async Task <ResponseViewModel> ResetPasswordAsync(string email, string platform)
        {
            try
            {
                var user = await _userManager.FindByEmailAsync(email);

                if (!user.EmailConfirmed)
                {
                    return(ResponseViewModel.Failed(ResponseMessageViewModel.EMAIL_NOT_CONFIRMED, ResponseErrorCodeStatus.EMAIL_NOT_CONFIRMED));
                }

                var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                user.Token = token;

                user.OTP = _otpService.GenerateCode(user.Id, _settings.OtpExpirationInMinutes, platform);

                var emailHtmlTemplate = _emailService.GetEmailTemplate(_env, EmailTemplate.ResetPassword(platform));

                Dictionary <string, string> contentReplacements = new Dictionary <string, string>()
                {
                    { Placeholder.OTP, platform == null ? user.OTP : platform.ToLower() == Res.WEB_PLATFORM ? $"{_settings.WebApp.BaseUrl}{_settings.WebApp.ResetPassword}{user.OTP}" : user.OTP },
                    { Placeholder.EXPIRES, $"{_settings.OtpExpirationInMinutes} {Placeholder.MINUTES}" }
                };

                if (contentReplacements != null)
                {
                    foreach (KeyValuePair <string, string> pair in contentReplacements)
                    {
                        emailHtmlTemplate = emailHtmlTemplate.Replace(pair.Key, pair.Value);
                    }
                }

                _ = _emailService.SendEmail(user.Email, Res.REQUEST_PASSWORD_RESET, emailHtmlTemplate);

                await _userManager.UpdateAsync(user);

                return(ResponseViewModel.Ok(ResponseMessageViewModel.PASSWORD_RESET_SUCCESSFUL));
            }
            catch (Exception e)
            {
                return(ResponseViewModel.Failed(ResponseMessageViewModel.UNKOWN_ERROR, ResponseErrorCodeStatus.UNKOWN_ERROR));
            }
        }
Exemple #7
0
        /// <summary>
        /// This Method Handles Completion Of Vendor / Subscriber's Profile
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ResponseViewModel> UpdateAsync(UserInputModel model)
        {
            try
            {
                var currentUser = await _userManager.FindByIdAsync(_httpContextAccessor.HttpContext.User.GetLoggedInUserId <int>().ToString());

                if (currentUser != null)
                {
                    currentUser.FirstName   = model.FirstName;
                    currentUser.LastName    = model.LastName;
                    currentUser.MiddleName  = model.MiddleName;
                    currentUser.PhoneNumber = model.PhoneNumber;

                    if (!string.IsNullOrEmpty(model.ProfilePhoto) && model.IsProfilePhotoChanged)
                    {
                        currentUser.ProfilePhoto = model.SaveProfilePhoto(_settings);
                    }

                    var gender = _utilityRepository.GetGenderByName(model.Gender);

                    if (gender == null)
                    {
                        return(ResponseViewModel.Failed(ResponseMessageViewModel.INVALID_GENDER, ResponseErrorCodeStatus.INVALID_GENDER));
                    }

                    currentUser.GenderId = gender.Id;

                    await _userManager.UpdateAsync(currentUser);

                    var mappedResult = _mapper.Map <AppUser, UserViewModel>(currentUser);

                    return(ResponseViewModel.Create(true).AddStatusMessage(ResponseMessageViewModel.SUCCESSFUL).AddData(mappedResult));
                }
                else
                {
                    return(ResponseViewModel.Failed());
                }
            }
            catch (Exception e)
            {
                return(ResponseViewModel.Create(false, ResponseMessageViewModel.UNSUCCESSFUL).AddStatusCode(ResponseErrorCodeStatus.FAIL).AddData(e));
            }
        }
Exemple #8
0
        public IHttpActionResult UploadFarmerImage()
        {
            /// <summary>
            ///Sets file size property. Default is 1MB (the value is in Bytes).
            /// </summary>
            int allowedFileSize = 1 * 1024 * 1024;

            ResponseViewModel <string> responseViewModel = new ResponseViewModel <string>();

            try
            {
                int    num1  = 0;
                string path1 = HostingEnvironment.MapPath("~/Uploads/UploadFarmerImages/");
                if (!Directory.Exists(HostingEnvironment.MapPath("~/Uploads/UploadFarmerImages/")))
                {
                    Directory.CreateDirectory(HostingEnvironment.MapPath("~/Uploads/UploadFarmerImages/"));
                }
                HttpFileCollection files = HttpContext.Current.Request.Files;
                int index = 0;
                if (index > files.Count - 1)
                {
                    responseViewModel = ResponseViewModel <string> .Failed(Core.ResponseModel.StatusCode.Bad_Request, "", "No File Found", null, "", string.Empty);

                    return(Ok(responseViewModel));
                }
                HttpPostedFile httpPostedFile = files[index];
                if (httpPostedFile.ContentLength > 0 && !File.Exists(path1 + Path.GetFileName(httpPostedFile.FileName)))
                {
                    string extension = Path.GetExtension(httpPostedFile.FileName);
                    if (!new List <string>()
                    {
                        ".bmp", ".png", ".jpg", "jpeg", ".gif"
                    }.Contains(extension.ToLower()))
                    {
                        string str = string.Format("Please Upload file of type images");
                        responseViewModel = ResponseViewModel <string> .Failed(Core.ResponseModel.StatusCode.Bad_Request, "", str, null, "", string.Empty);

                        return(Ok(responseViewModel));
                    }
                    var fileSize = httpPostedFile.ContentLength;

                    // Settings.
                    if (fileSize > allowedFileSize)
                    {
                        string str = string.Format("Please Upload file of 1 MB Data");
                        responseViewModel = ResponseViewModel <string> .Failed(Core.ResponseModel.StatusCode.Bad_Request, "", str, null, "", string.Empty);

                        return(Ok(responseViewModel));
                    }

                    string str1     = Guid.NewGuid().ToString();
                    string filename = Path.Combine(path1, Path.GetFileName(str1 + extension));
                    httpPostedFile.SaveAs(filename);
                    int num2 = num1 + 1;
                    Path.GetFileName(str1 + extension);

                    var data = Path.GetFileName(str1 + extension);
                    responseViewModel = data != null ? ResponseViewModel <string> .Succeeded(data, "") : ResponseViewModel <string> .Succeeded(data, "");

                    return(Ok(responseViewModel));
                }

                responseViewModel = ResponseViewModel <string> .Failed(Core.ResponseModel.StatusCode.Bad_Request, "", "Failed", null, "", string.Empty);

                return(Ok(responseViewModel));
            }
            catch (Exception err)
            {
                responseViewModel = ResponseViewModel <string> .Failed(Core.ResponseModel.StatusCode.Bad_Request, err.Message, err.Message, err, "", string.Empty);

                return(Ok(responseViewModel));
            }
        }