Beispiel #1
0
 public HttpResponseMessage Post([FromBody] UserModel model)
 {
     try
     {
         var user = _iUserServices.GetUserByInfo(model.email);
         if (user != null)
         {
             return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                               ErrorMessages.ERROR_MSG_EMAIL_IS_ALREADY_EXISTED, ErrorCodeStrings.EMAIL_IS_ALREADY_EXISTED,
                                               null));
         }
         user = _iUserServices.GetUserByInfo(model.phone);
         if (user != null)
         {
             return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                               ErrorMessages.ERROR_MSG_PHONE_IS_ALREADY_EXISTED, ErrorCodeStrings.PHONE_IS_ALREADY_EXISTED,
                                               null));
         }
         var userEntity = Mapper.Map <UserModel, UserEntity>(model);
         userEntity = _iUserServices.CreateUser(userEntity);
         var userAuthInfoEntity = new UserAuthInfoEntity()
         {
             userId       = userEntity.id,
             passwordHash = model.passwordHash
         };
         userAuthInfoEntity = _iUserAuthInfoServices.CreateUserAuthInfo(userAuthInfoEntity);
         return(Request.CreateResponse(HttpStatusCode.OK, new { userEntity, userAuthInfoEntity }));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #2
0
 public HttpResponseMessage Search(string searchString)
 {
     try
     {
         var articlesResult = _iArticleServices.GetArticlesByInfo(searchString);
         if (articlesResult == null)
         {
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
         var articles    = Mapper.Map <List <ArticleEntity>, List <ArticleExpandedModel> >(articlesResult.ToList());
         var pets        = _iPetServices.GetAll();
         var petEntities = pets as IList <PetEntity> ?? pets.ToList();
         foreach (var article in articles)
         {
             foreach (var pet in petEntities.Where(pet => article.petId == pet.id))
             {
                 article.Pet = Mapper.Map <PetEntity, PetModel>(pet);
                 var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInforById(pet.userAuthInfoId);
                 article.Pet.User = _iUserServices.GetUserById(userAuthInfo.userId);
                 var images = _iImageServices.GetAll();
                 foreach (var image in images.Where(image => article.Pet.imageId == image.id))
                 {
                     article.Pet.Image = image;
                 }
             }
         }
         return(Request.CreateResponse(HttpStatusCode.OK, articles));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #3
0
        public HttpResponseMessage Get(int id)
        {
            try
            {
                var article = _iArticleServices.GetArticleById(id);
                var result  = Mapper.Map <ArticleEntity, ArticleExpandedModel>(article);
                if (article == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, result));
                }
                var pet = _iPetServices.GetPetById(result.petId);
                result.Pet = Mapper.Map <PetEntity, PetModel>(pet);
                if (pet == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, result));
                }

                var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInforById(pet.userAuthInfoId);
                result.Pet.User = _iUserServices.GetUserById(userAuthInfo.userId);
                var image = _iImageServices.GetImageById(pet.imageId);
                result.Pet.Image = image;
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
Beispiel #4
0
        public HttpResponseMessage GetArticles(int order, int skip, int take)
        {
            // order 1: newest, 0: featurest
            try
            {
                List <ArticleExpandedModel> articles;
                if ((OrderType)order == OrderType.Feature)
                {
                    var articlesResult = _iArticleServices.GetArticles().OrderByDescending(c => c.view).Skip(skip).Take(take).ToList();
                    articles = Mapper.Map <List <ArticleEntity>, List <ArticleExpandedModel> >(articlesResult);
                    var pets        = _iPetServices.GetAll();
                    var petEntities = pets as IList <PetEntity> ?? pets.ToList();
                    foreach (var article in articles)
                    {
                        foreach (var pet in petEntities.Where(pet => article.petId == pet.id))
                        {
                            article.Pet = Mapper.Map <PetEntity, PetModel>(pet);
                            var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInforById(pet.userAuthInfoId);
                            article.Pet.User = _iUserServices.GetUserById(userAuthInfo.userId);
                            var images = _iImageServices.GetAll();
                            foreach (var image in images.Where(image => article.Pet.imageId == image.id))
                            {
                                article.Pet.Image = image;
                            }
                        }
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, articles));
                }

                var newArticlesResult = _iArticleServices.GetArticles().OrderByDescending(c => c.view).Skip(skip).Take(take).ToList();
                articles = Mapper.Map <List <ArticleEntity>, List <ArticleExpandedModel> >(newArticlesResult);
                var newPets        = _iPetServices.GetAll();
                var newPetEntities = newPets as IList <PetEntity> ?? newPets.ToList();
                foreach (var article in articles)
                {
                    foreach (var pet in newPetEntities.Where(pet => article.petId == pet.id))
                    {
                        article.Pet = Mapper.Map <PetEntity, PetModel>(pet);
                        var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInforById(pet.userAuthInfoId);
                        article.Pet.User = _iUserServices.GetUserById(userAuthInfo.userId);
                        var images = _iImageServices.GetAll();
                        foreach (var image in images.Where(image => article.Pet.imageId == image.id))
                        {
                            article.Pet.Image = image;
                        }
                    }
                }
                return(Request.CreateResponse(HttpStatusCode.OK, articles));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
Beispiel #5
0
 public HttpResponseMessage Put(int id, [FromBody] UserEntity model)
 {
     try
     {
         var user = _iUserServices.UpdateUser(id, model);
         return(Request.CreateResponse(HttpStatusCode.OK, user));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #6
0
        public HttpResponseMessage RequestOTP([FromBody] UserModel model)
        {
            try
            {
                var user = _iUserServices.GetUserByInfo(model.email);
                if (user == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_EXISTED, null));
                }

                var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInfoByUserId(user.id);
                if (userAuthInfo == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_AUTH_INFO_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_REGISTERED, null));
                }

                // Generate OTP
                var otpCode = Utils.OTPNumber();

                // Send OTP Email
                //string link = string.Format(Request.Url.Host + "/satraservices/api/confirm?session={0}&otp={1}", sessionKey, OTPKey);
                string mailbody = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("~/Template/MailTemplate.html"));
                mailbody = mailbody.Replace("--OTP--", otpCode);
                mailbody = mailbody.Replace("source-path", "http://210.211.118.178/PetsAPI/Template/background-4.jpg");
                Utils.GoogleMail(user.email, ConfigKey.MAILTITLE, mailbody, ConfigKey.EMAIL, ConfigKey.PASSWORD);

                // Send OTP SMS

                var otp = new OTPEntity()
                {
                    otpCode        = otpCode,
                    userAuthInfoId = userAuthInfo.id,
                    expiredOn      = DateTime.Now.AddMinutes(UserAppConstant.OTP_CODE_EXPIRED_ON)
                };

                _iOtpServices.CreateOTP(otp);
                const string data = "Send OTP Successfully";
                return(Request.CreateResponse(HttpStatusCode.OK, new { data }));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
Beispiel #7
0
 public HttpResponseMessage Get(int id)
 {
     try
     {
         var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInforById(id);
         if (userAuthInfo == null)
         {
             return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                               ErrorMessages.ERROR_MSG_USER_AUTH_INFO_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_REGISTERED, null));
         }
         var user = _iUserServices.GetUserById(userAuthInfo.userId);
         return(Request.CreateResponse(HttpStatusCode.OK, user));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #8
0
 public HttpResponseMessage UpdateView(int id)
 {
     try
     {
         var articleEntity = _iArticleServices.GetArticleById(id);
         if (articleEntity == null)
         {
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
         articleEntity.view++;
         var result = _iArticleServices.UpdateArticle(id, articleEntity);
         return(Request.CreateResponse(HttpStatusCode.OK, result));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #9
0
 public HttpResponseMessage GetPetImage(int id)
 {
     try
     {
         var pet = _iPetServices.GetPetById(id);
         if (pet == null)
         {
             return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                               ErrorMessages.ERROR_MSG_PET_NOT_EXISTED, ErrorCodeStrings.PET_IS_NOT_EXISTED, null));
         }
         var image = _iImageServices.GetImageById(pet.imageId);
         return(Request.CreateResponse(HttpStatusCode.OK, image));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #10
0
 public HttpResponseMessage Post([FromBody] ArticleEntity articleEntity)
 {
     try
     {
         var pet = _iPetServices.GetPetById(articleEntity.petId);
         if (pet == null)
         {
             return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                               ErrorMessages.ERROR_MSG_PET_NOT_EXISTED, ErrorCodeStrings.PET_IS_NOT_EXISTED, null));
         }
         articleEntity.createdOn = DateTime.Now;
         articleEntity.view      = 0;
         var article = _iArticleServices.CreateArticle(articleEntity);
         return(Request.CreateResponse(HttpStatusCode.OK, article));
     }
     catch (Exception e)
     {
         return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
     }
 }
Beispiel #11
0
        public HttpResponseMessage ResetPassword([FromBody] UserModel model)
        {
            try
            {
                var user = _iUserServices.GetUserByInfo(model.email);
                if (user == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_EXISTED, null));
                }

                var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInfoByUserId(user.id);
                if (userAuthInfo == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_AUTH_INFO_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_REGISTERED, null));
                }

                var otp = _iOtpServices.GetOTPByUserAuthInfoId(userAuthInfo.id);
                if (otp == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_OTP_NOT_EXISTED, ErrorCodeStrings.OTP_IS_NOT_EXISTED, null));
                }

                if (otp.All(c => c.otpCode != model.oTPCode || c.expiredOn < DateTime.Now))
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_INVALID_OTP, ErrorCodeStrings.INCORRECT_OTP, null));
                }
                userAuthInfo.passwordHash = model.passwordHash;
                userAuthInfo = _iUserAuthInfoServices.UpdateUserAuthInfoEntity(userAuthInfo.id, userAuthInfo);

                return(Request.CreateResponse(HttpStatusCode.OK, new { user, userAuthInfo }));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
Beispiel #12
0
        public HttpResponseMessage UpdateCoverThumbnail(int id, [FromBody] UserModel model)
        {
            try
            {
                var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInforById(id);
                if (userAuthInfo == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_AUTH_INFO_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_REGISTERED, null));
                }
                var user = _iUserServices.GetUserById(userAuthInfo.userId);
                if (user == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_EXISTED, null));
                }

                // Upload Image
                var imageBinaryInBase64 = model.coverThumbnailInBase64;
                var avatarBinary        = Convert.FromBase64String(imageBinaryInBase64);
                var stream = new MemoryStream();
                stream.Write(avatarBinary, 0, avatarBinary.Length);
                var image    = Image.FromStream(stream);
                var filePath = HostingEnvironment.MapPath("~/Images/UserThumbnails");
                var fileName = Utils.NewGuid() + ".jpg";
                if (filePath != null)
                {
                    var fullPath = Path.Combine(filePath, fileName);
                    image.Save(fullPath);
                }
                user.coverThumbnail = fileName;
                _iUserServices.UpdateCoverThumbnail(user);
                return(Request.CreateResponse(HttpStatusCode.OK, user));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
        public HttpResponseMessage Post([FromBody] UserModel model)
        {
            try
            {
                var user = _iUserServices.GetUserByInfo(model.info);
                if (user == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_EXISTED, null));
                }
                var userAuthInfo = _iUserAuthInfoServices.GetUserAuthInfoByUserId(user.id);
                if (userAuthInfo == null)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_USER_AUTH_INFO_NOT_EXISTED, ErrorCodeStrings.USER_IS_NOT_REGISTERED, null));
                }
                if (userAuthInfo.passwordHash != model.passwordHash)
                {
                    return(ResponseHelper.ErrorResult(Request, HttpStatusCode.BadRequest,
                                                      ErrorMessages.ERROR_MSG_INVALID_PASSWORD, ErrorCodeStrings.INVALID_PASSWORD, null));
                }

                var authToken     = Utils.NewGuid();
                var sessionEntity = new SessionEntity
                {
                    authToken      = Utils.MD5Hash(authToken),
                    userAuthInfoId = userAuthInfo.id,
                    isVerified     = true,
                    expiredOn      = DateTime.Now.AddMonths(1)
                };
                var session = _iSessionServices.CreateSession(sessionEntity);
                return(Request.CreateResponse(HttpStatusCode.OK, session));
            }

            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
Beispiel #14
0
        public HttpResponseMessage GetPetImages(int id)
        {
            try
            {
                var pets = _iPetServices.GetPetsByUserAuthInfoId(id);
                if (pets == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, (IEnumerable <PetEntity>)null));
                }

                var result = Mapper.Map <List <PetEntity>, List <PetModel> >(pets.ToList());
                foreach (var pet in result)
                {
                    pet.Image = _iImageServices.GetImageById(pet.imageId);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }
Beispiel #15
0
        public HttpResponseMessage POST([FromBody] PetExpandedModel model)
        {
            try
            {
                // Upload Image
                var imageBinaryInBase64 = model.thumbNailInBase64;
                var avatarBinary        = Convert.FromBase64String(imageBinaryInBase64);
                var stream = new MemoryStream();
                stream.Write(avatarBinary, 0, avatarBinary.Length);
                var image    = Image.FromStream(stream);
                var filePath = HostingEnvironment.MapPath("~/Images/PetThumbnails");
                var fileName = Utils.NewGuid() + ".jpg";
                if (filePath != null)
                {
                    var fullPath = Path.Combine(filePath, fileName);
                    image.Save(fullPath);
                }

                var imageEntity = new ImageEntity()
                {
                    thumbnail = fileName
                };
                imageEntity = _iImageServices.CreateImage(imageEntity);

                // Create Pet
                model.imageId = imageEntity.id;
                var pet = Mapper.Map <PetExpandedModel, PetEntity>(model);
                pet = _iPetServices.CreatePet(pet);

                return(Request.CreateResponse(HttpStatusCode.OK, pet));
            }
            catch (Exception e)
            {
                return(ResponseHelper.ErrorResult(Request, HttpStatusCode.InternalServerError, ErrorMessages.ERROR_MSG_SERVER_ERROR, ErrorCodeStrings.SERVER_ERROR, e.ToString()));
            }
        }