public async Task <IHttpActionResult> Putfaq(int id, faq faq)
        {
            var findFAQs = await db.faqs.Where(a => a.id == id).FirstOrDefaultAsync();

            if (findFAQs != null)
            {
                findFAQs.title           = faq.title;
                findFAQs.body            = faq.body;
                db.Entry(findFAQs).State = EntityState.Modified;
                int check = await db.SaveChangesAsync();

                if (check > 0)
                {
                    return(Ok(await db.faqs.ToListAsync()));
                }
                else
                {
                    return(BadRequest("Update fails."));
                }
            }
            else
            {
                return(BadRequest("FAQs not found."));
            }
        }
Exemplo n.º 2
0
        public static async Task <bool> UpdateAvatar(HttpPostedFile postedFile, int id)
        {
            try
            {
                var details = (from a in db.accounts
                               from b in db.details
                               where a.id == b.account_id && a.id == id select b).FirstOrDefault();
                if (details == null)
                {
                    return(false);
                }
                else
                {
                    string fullPath = await ImageServices.UploadImageAsync(postedFile); //return url image

                    details.avatar = fullPath;
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }catch (Exception e)
            {
                return(false);
            }
        }
Exemplo n.º 3
0
        public async Task <IHttpActionResult> RestoreSurvey(int id)
        {
            try
            {
                var find = db.surveys.Where(a => a.id == id).FirstOrDefault();
                if (find != null)
                {
                    find.deleted = false;
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        return(Ok(await FetchListSurveysDeleted.GetAllSurveys(1, 10)));
                    }
                    else
                    {
                        return(BadRequest("Restore this survey fails."));
                    }
                }
                else
                {
                    return(BadRequest("Survey not found."));
                }
            }
            catch
            {
                return(BadRequest("Error."));
            }
        }
Exemplo n.º 4
0
        public static async Task <bool> FuncDeleteAccount(int id)
        {
            try
            {
                var account = db.accounts.Where(a => a.id == id).FirstOrDefault();
                if (account != null)
                {
                    //check details id == account id
                    var details = db.details.Where(a => a.account_id == account.id).FirstOrDefault();
                    if (details != null)
                    {
                        db.details.Remove(details);
                        await db.SaveChangesAsync();
                    }
                    db.accounts.Remove(account);
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }catch
            {
                return(false);
            }
        }
        public async Task <IHttpActionResult> Register([FromBody] RegisterForm form)
        {
            try
            {
                var check = db.accounts.Where(a => a.username == form.username).FirstOrDefault();
                if (check == null)
                {
                    var pa1  = HashPassword.hashPassword(form.password);
                    var pa2  = HashPassword.hashPassword(form.password2);
                    var role = 2;
                    if (form.section.ToLower() == "teacher")
                    {
                        role = 1;
                    }
                    if (pa1 == pa2)
                    {
                        var user = new account
                        {
                            card_id   = form.card_id,
                            username  = form.username,
                            password  = pa1,
                            password2 = pa2,
                            section   = form.section,
                            status    = false,
                            role_id   = role,
                            date_join = form.date_join,
                            create_at = DateTime.Now
                        };
                        db.accounts.Add(user);
                        int val = await db.SaveChangesAsync();

                        if (val > 0)
                        {
                            var msg = new ResponseMsg
                            {
                                message = "Register success. please wait check from admin."
                            };
                            return(Created("ok", msg));
                        }
                        else
                        {
                            return(BadRequest("Register fails."));
                        }
                    }
                    else
                    {
                        return(BadRequest("Passwords are not the same."));
                    }
                }
                else
                {
                    return(BadRequest("username have changes."));
                }
            }
            catch (Exception e)
            {
                string message = e.Message;
                return(BadRequest(message));
            }
        }
Exemplo n.º 6
0
        public async Task <IHttpActionResult> CreateFaculty([FromBody] faculty form)
        {
            try
            {
                //find duplicate faculty code
                var faculty = db.faculties.Where(a => a.faculty_code.ToString().ToUpper() == form.faculty_code.ToString().ToUpper()).FirstOrDefault();
                if (faculty == null)
                {
                    form.create_at       = DateTime.Now;
                    db.Entry(form).State = System.Data.Entity.EntityState.Added;
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        return(Ok(await ListFaculty()));
                    }
                    else
                    {
                        return(BadRequest("Create faculty error"));
                    }
                }
                else
                {
                    return(BadRequest("Duplicate faculty"));
                }
            }
            catch
            {
                return(BadRequest("Error"));
            }
        }
Exemplo n.º 7
0
        public static async Task <bool> Deleted(int id)
        {
            try
            {
                var findSurvey = db.surveys.Where(a => a.id == id && a.deleted == false).FirstOrDefault();
                if (findSurvey != null)
                {
                    findSurvey.deleted = true;
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
        public async Task <IHttpActionResult> CreateQuestion([FromBody] question form)
        {
            try
            {
                var findSurvey = db.surveys.Where(a => a.id == form.surveys_id).FirstOrDefault();
                if (findSurvey != null)
                {
                    //check title duplicate
                    var check_title = db.questions
                                      .Where(a => a.text.ToString().ToLower() == form.text.ToString().ToLower() && a.surveys_id == findSurvey.id).FirstOrDefault();
                    if (check_title == null)
                    {
                        if (form.priority <= 0)
                        {
                            form.priority = 1;
                        }

                        form.create_at = DateTime.Now;
                        db.questions.Add(form);
                        int check = await db.SaveChangesAsync();

                        if (check > 0)
                        {
                            return(Ok(await FetchDetailsSurvey.GetDetailsSurvey(findSurvey.id)));
                        }
                        else
                        {
                            return(BadRequest("Create question error."));
                        }
                    }
                    else
                    {
                        return(BadRequest("Title question dupticate"));
                    }
                }
                else
                {
                    return(BadRequest("Survey not found."));
                }
            }
            catch
            {
                return(BadRequest("Error question."));
            }
        }
        public async Task <IHttpActionResult> CreateAskChoice(int idQuestion, [FromBody] question_choice form)
        {
            try
            {
                //find question null or not null
                var findQuestion = (from a in db.questions from b in db.surveys
                                    where a.surveys_id == b.id && a.id == idQuestion && b.surveys_type_id == 1 select a).FirstOrDefault();
                if (findQuestion != null)
                {
                    //find check answer duplicate
                    var answer_title = db.question_choice
                                       .Where(a => a.description.ToString().ToLower() == form.description.ToString().ToLower()).FirstOrDefault();
                    if (answer_title == null)
                    {
                        form.question_id = findQuestion.id;
                        form._checked    = false;
                        form.create_at   = DateTime.Now;
                        db.question_choice.Add(form);
                        int check = await db.SaveChangesAsync(); //save

                        if (check > 0)
                        {
                            return(Ok(await FetchDetailsSurvey.GetDetailsSurvey(Convert.ToInt32(findQuestion.surveys_id))));
                        }
                        else
                        {
                            return(BadRequest("Create Answer fails"));
                        }
                    }
                    else
                    {
                        return(BadRequest("Answer duplicate."));
                    }
                }
                else
                {
                    return(BadRequest("Question not found."));
                }
            }
            catch
            {
                return(BadRequest("Error"));
            }
        }
Exemplo n.º 10
0
        public async Task <IHttpActionResult> SubmitFeedBack(feedback form)
        {
            try
            {
                var identity = (ClaimsIdentity)User.Identity;
                var username = identity.Claims.Where(a => a.Type == ClaimTypes.Name).Select(c => c.Value).FirstOrDefault();
                var findUser = db.accounts.Where(a => a.username == username).FirstOrDefault();
                if (findUser != null)
                {
                    form.username  = username;
                    form._checked  = false;
                    form.create_at = DateTime.Now;
                    db.feedbacks.Add(form);
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        var msg = new ResponseMsg();
                        msg.message = "Your request has been sent";
                        return(Ok(msg));
                    }
                    else
                    {
                        return(BadRequest("Feedback fails."));
                    }
                }
                else
                {
                    return(BadRequest("Account not found."));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Error."));
            }
        }
Exemplo n.º 11
0
        //get details for user
        public static async Task <AccountDetails> GetDetailsAccount(int id)
        {
            try
            {
                var find = (from a in db.admins
                            from b in db.details_admin
                            where a.id == b.id && a.id == id
                            select a).FirstOrDefault();
                if (find != null)
                {
                    return(await WithProfile(id));
                }
                else
                {
                    var details = new details_admin
                    {
                        admin_id     = id,
                        first_name   = "",
                        last_name    = "",
                        gender       = null,
                        birthday     = null,
                        description  = "",
                        avatar       = "",
                        phone_number = "",
                        modify_date  = DateTime.Now
                    };
                    db.details_admin.Add(details);
                    int check = await db.SaveChangesAsync();

                    if (check > 0)
                    {
                        return(await WithProfile(id));
                    }
                    else
                    {
                        return(await WithOutProfile(id));
                    }
                }
            }
            catch (Exception e)
            {
                return(null);
            }
        }
        public async Task <IHttpActionResult> CreateSurveysResponse(int idSurvey)
        {
            //find and check username
            var identity = (ClaimsIdentity)User.Identity;
            var username = identity.Claims.Where(a => a.Type == ClaimTypes.Name).Select(c => c.Value).FirstOrDefault();
            var findUser = db.accounts.Where(a => a.username == username).FirstOrDefault();

            if (findUser != null)
            {
                //find survey with date start less than current date
                var findSurvey = db.surveys.Where(a => a.id == idSurvey &&
                                                  a.date_start <= DateTime.Now &&
                                                  a.deleted == false && a.publish == true).FirstOrDefault();
                if (findSurvey != null)
                {
                    //find this user joined if not join create else update
                    var findMessage = db.surveys_response.Where(a => a.surveys_id == idSurvey && a.accounts_id == findUser.id).FirstOrDefault();
                    if (findMessage == null)
                    {
                        surveys_response form = new surveys_response();
                        form.surveys_id  = findSurvey.id;
                        form.accounts_id = findUser.id;
                        form.create_at   = DateTime.Now;
                        form.username    = username;
                        db.surveys_response.Add(form);
                        int check = await db.SaveChangesAsync();

                        if (check > 0)
                        {
                            return(Ok(await FetchDetailsSurvey.GetDetailsSurvey(findSurvey.id)));
                        }
                        else
                        {
                            return(BadRequest("Create fails."));
                        }
                    }
                    else
                    {
                        findMessage.create_at       = DateTime.Now;
                        db.Entry(findMessage).State = System.Data.Entity.EntityState.Modified;
                        int check = await db.SaveChangesAsync();

                        if (check > 0)
                        {
                            return(Ok(await FetchDetailsSurvey.GetDetailsSurvey(findSurvey.id)));
                        }
                        else
                        {
                            return(BadRequest("update fails."));
                        }
                    }
                }
                else
                {
                    return(BadRequest("Survey not found."));
                }
            }
            else
            {
                return(BadRequest("Account not found."));
            }
        }