public IEnumerable <UserAward> GetAllUsersAwards()
        {
            var result = new List <UserAward>();

            using (SqlConnection connection = new SqlConnection(connnectionString))
            {
                SqlCommand cmd = new SqlCommand("GetAll", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                connection.Open();

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    var useraward = new UserAward
                    {
                        Id_user  = (int)reader["Id_users"],
                        Id_award = (int)reader["Id_awards"]
                    };

                    result.Add(useraward);
                }
            }

            return(result);
        }
Пример #2
0
        public EmailSendAttempt SendAward(RequestContext request, UserAward award)
        {
            var template = LoadTemplate(
                "template-user-award",
                request.HttpContext.Server.MapPath("~/Messages/UserAward.template")
                );
            var recipient = Users[award.Recipient];
            var nominator = Users[award.Nominator];
            var url       = new UrlHelper(request).Action(MVC.Public.Award.Index(award.Document.Id));
            var e         = Builder.Transform(
                template,
                new TemplateData
            {
                { "program", Application.ProgramName },
                { "url", url.ToAbsoluteUrl(request.HttpContext.Request).ToString() },
                { "recipient", recipient.DisplayName },
                { "nominator", nominator.DisplayName }
            },
                request.HttpContext.Request
                );

            e.Recipient = new EmailAddress {
                Address = recipient.Email, Name = recipient.DisplayName
            };
            return(Sender.Send(e));
        }
Пример #3
0
        private static void AwardUser(IUserLogic userLogic, IAwardLogic awardLogic, IUserAwardLogic userAwardLogic)
        {
            var useraward = new UserAward();

            Console.WriteLine();
            try
            {
                while (true)
                {
                    int _userId = ReadInt("Enter the Id of User you want to award: ");
                    if (userLogic.CheckById(_userId))
                    {
                        useraward.UserId = _userId;
                        break;
                    }
                    else
                    {
                        Console.WriteLine("There's no user with such Id");
                    }
                }

                Console.WriteLine();

                while (true)
                {
                    int _awardId = ReadInt("Enter the Id of Award you want to award with: ");
                    if (awardLogic.CheckById(_awardId))
                    {
                        useraward.AwardId = _awardId;
                        break;
                    }
                    else
                    {
                        Console.WriteLine("There's no award with such Id");
                    }
                }

                var getUsersWithSameId             = userAwardLogic.GetAll().Where(x => x.UserId == useraward.UserId);
                var getUsersWithSameIdAndSameAward = getUsersWithSameId.Where(x => x.AwardId == useraward.AwardId).Count();

                if (getUsersWithSameIdAndSameAward > 0)
                {
                    Console.WriteLine();
                    Console.WriteLine("This user already have award with id \"{0}\". He can't get this award twice.", useraward.AwardId);
                }
                else
                {
                    userAwardLogic.Add(useraward);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: {0}", ex.Message);
            }

            Console.WriteLine();
            Init();
        }
Пример #4
0
 public bool AddUserAward(UserAward userAward)
 {
     if (userAward != null)
     {
         _awardDbContext.UserAwards.Add(userAward);
         return(true);
     }
     return(false);
 }
Пример #5
0
        public void Add(UserAward useraward)
        {
            var lastId = _repoUsersAwards.Any()
                ? _repoUsersAwards.Keys.Max()
                : 0;

            useraward.Id = ++lastId;

            _repoUsersAwards.Add(useraward.Id, useraward);
        }
Пример #6
0
 public ActionResult Create(UserAward userAward)
 {
     if (ModelState.IsValid)
     {
         _userAwardRepository.Create(userAward);
         _unitOfWork.Commit();
         return(RedirectToAction("Details", "Users", new { id = userAward.UserId }));
     }
     return(View(userAward));
 }
Пример #7
0
        public async Task <IActionResult> DisplayUserAward(int userAwardId)
        {
            UserAward userAward = await _userAwardLogic.GetUserAvardByIdAsync(userAwardId);

            if (userAward != null)
            {
                return(PartialView("_DisplayUserAwardPartial", userAward));
            }

            return(NotFound());
        }
Пример #8
0
        private UserAward ConvertDB2VM(SqlDataReader reader)
        {
            UserAward ua = new UserAward
            {
                AwardID   = reader.GetInt32(0),
                UserID    = reader.GetString(1),
                AwardDate = reader.GetDateTime(2),
                Award     = reader.GetInt32(3)
            };

            if (!reader.IsDBNull(4))
            {
                ua.AwardPlanID = reader.GetInt32(4);
            }
            else
            {
                ua.AwardPlanID = null;
            }
            if (!reader.IsDBNull(5))
            {
                ua.QuizType = (QuizTypeEnum)reader.GetInt16(5);
            }
            else
            {
                ua.QuizType = null;
            }
            if (!reader.IsDBNull(6))
            {
                ua.QuizID = reader.GetInt32(6);
            }
            else
            {
                ua.QuizID = null;
            }
            if (!reader.IsDBNull(7))
            {
                ua.UsedReason = reader.GetString(7);
            }
            else
            {
                ua.UsedReason = String.Empty;
            }
            if (!reader.IsDBNull(8))
            {
                ua.Punish = reader.GetBoolean(8);
            }
            else
            {
                ua.Punish = null;
            }
            return(ua);
        }
Пример #9
0
        public void Add(UserAward useraward)
        {
            try
            {
                if (useraward == null)
                {
                    throw new ValidationException("Users and Award list is empty");
                }

                this._userAwardDao.Add(useraward);
            }
            catch
            {
                throw;
            }
        }
Пример #10
0
        public ActionResult RewardUser(IndexViewModel index)
        {
            User  user  = Repository.GetUserByID(index.User.UserID);
            Award award = Repository.GetAwardByID(index.AwardEdit.Id);

            if (user != null && award != null)
            {
                UserAward userAward = new UserAward
                {
                    Users  = user,
                    Awards = award
                };
                Repository.AddUserAward(userAward);
                Repository.Save();
            }
            return(RedirectToAction("Award", new { user.UserID }));
        }
Пример #11
0
        public async Task AddAwardAsync(UserAward userAward)
        {
            Award award = await _awardLogic.GetAwardByNameAsync(userAward.AwardReceived.AwardTitle);

            User fromUser = await _userLogic.GetUserAsync(userAward.FromUser.Email);

            User recipient = await _userLogic.GetUserAsync(userAward.User.Email);

            userAward.AwardIdReceived = award.AwardId;
            userAward.AwardReceived   = award;
            userAward.AwardIdSent     = award.AwardId;
            userAward.AwardSent       = award;
            userAward.FromUserId      = fromUser.UserId;
            userAward.FromUser        = fromUser;
            userAward.UserId          = recipient.UserId;
            userAward.User            = recipient;
            userAward.AwardDate       = DateTime.Now;

            _db.UserAwards.Add(userAward);
            await _db.SaveChangesAsync();
        }
Пример #12
0
        public IEnumerable <UserAward> GetAll()
        {
            var guidPairs = userAwardDao.GetGuidPairs();

            var usersAwards = new List <UserAward>();

            foreach (var kvPair in guidPairs)
            {
                var user = userDao.GetByGuid(kvPair.Key);
                NullCheck(user);

                var award = awardDao.GetByGuid(kvPair.Value);
                NullCheck(award);

                var userAward = new UserAward(user, award);
                NullCheck(userAward);

                usersAwards.Add(userAward);
            }

            return(usersAwards);
        }
Пример #13
0
        public void Add(UserAward useraward)
        {
            int lastId = 0;

            if (File.Exists(_usersawards_bd_txt))
            {
                string last = File.ReadAllLines(_usersawards_bd_txt).Last();
                int    ind  = last.IndexOf(@",");
                lastId = int.Parse(last.Substring(0, ind));
            }

            useraward.Id = ++lastId;

            StringBuilder sb = new StringBuilder();

            sb = sb.Append(useraward.Id).Append(",").Append(useraward.UserId).Append(",")
                 .Append(useraward.AwardId);

            using (StreamWriter sw = File.AppendText(_usersawards_bd_txt))
            {
                sw.WriteLine(sb.ToString());
            }
        }
Пример #14
0
        public static void Initialize(ApplicationContext context)
        {
            Image defaultUserImage = new Image
            {
                ImageName = "DefaultUserImage_DefaultUserImage.jpg",
                ImagePath = "/Images/UserImages/DefaultUserImage_DefaultUserImage.jpg"
            };

            Image defaultAwardImage = new Image
            {
                ImageName = "DefaultAwardImage_DefaultAwardImage.jpg",
                ImagePath = "/Images/AwardImages/DefaultAwardImage_DefaultAwardImage.jpg"
            };

            Image avaSergey = new Image
            {
                ImageName = "78312a8b-b16d-4560-8761-bc106e8de0c7_ava.jpg",
                ImagePath = "/Images/UserImages/78312a8b-b16d-4560-8761-bc106e8de0c7_ava.jpg"
            };

            Image thanksImage = new Image
            {
                ImageName = "ea3b7760-1511-4490-8d43-e3d3009178c5_A-Round-of-Thanks.jpg",
                ImagePath = "/Images/AwardImages/ea3b7760-1511-4490-8d43-e3d3009178c5_A-Round-of-Thanks.jpg"
            };

            Image gdAward = new Image
            {
                ImageName = "20680fd4-579e-44a1-befd-213981bf2fb3_greatdeveloper.jpg",
                ImagePath = "/Images/AwardImages/20680fd4-579e-44a1-befd-213981bf2fb3_greatdeveloper.jpg"
            };

            Image[] images = { defaultUserImage, defaultAwardImage, avaSergey, thanksImage, gdAward };

            for (int i = 0; i < images.Length; i++)
            {
                context.Images.Add(images[i]);
                context.SaveChanges();
            }

            Role adminRole = new Role {
                RoleName = "Admin"
            };
            Role userRole = new Role {
                RoleName = "User"
            };
            Role managerRole = new Role {
                RoleName = "Manager"
            };

            Role[] roles = { adminRole, userRole, managerRole };

            for (int i = 0; i < roles.Length; i++)
            {
                context.Roles.Add(roles[i]);
                context.SaveChanges();
            }

            City saratov = new City {
                CityName = "Saratov"
            };

            context.Cities.Add(saratov);
            context.SaveChanges();

            Department dep1 = new Department {
                DepartmentName = ".NET back-end department"
            };
            Department dep2 = new Department {
                DepartmentName = ".NET front-end department"
            };
            Department dep3 = new Department {
                DepartmentName = "Administrative department"
            };
            Department dep4 = new Department {
                DepartmentName = "HR department"
            };
            Department dep5 = new Department {
                DepartmentName = "Client Support"
            };
            Department dep6 = new Department {
                DepartmentName = "DataBase department"
            };
            Department dep7 = new Department {
                DepartmentName = "Design department"
            };
            Department dep8 = new Department {
                DepartmentName = "DevOps department"
            };
            Department dep9 = new Department {
                DepartmentName = "Android department"
            };
            Department dep10 = new Department {
                DepartmentName = "iOS department"
            };
            Department dep11 = new Department {
                DepartmentName = "Management department"
            };
            Department dep12 = new Department {
                DepartmentName = "PHP department"
            };
            Department dep13 = new Department {
                DepartmentName = "Product Department"
            };
            Department dep14 = new Department {
                DepartmentName = "Quality Assurance Department"
            };
            Department dep15 = new Department {
                DepartmentName = "ROKO University"
            };

            Department[] departments = { dep1, dep2, dep3, dep4, dep5, dep6, dep7, dep8, dep9, dep10, dep11, dep12, dep13, dep14, dep15 };

            for (int i = 0; i < departments.Length; i++)
            {
                context.Departments.Add(departments[i]);
                context.SaveChanges();
            }

            User admin = new User
            {
                DateOfJoining         = DateTime.Parse("07/17/2019"),
                DepartmentId          = 1,
                FirstName             = "Sergey",
                LastName              = "Ponomarev",
                Email                 = "*****@*****.**",
                Status                = Status.Active,
                PositionName          = "Software Engineer SE2L1",
                ReportingManagerEmail = "*****@*****.**",
                CityId                = 1,
                ImageId               = 3,
                HashedPassword        = "******",
                RoleId                = 1
            };

            User testDummy = new User
            {
                DateOfJoining         = DateTime.Parse("02/27/2020"),
                DepartmentId          = 1,
                FirstName             = "Test",
                LastName              = "Dummy",
                Email                 = "*****@*****.**",
                Status                = Status.Active,
                PositionName          = "Junior Software Engineer SE1L1",
                ReportingManagerEmail = "*****@*****.**",
                CityId                = 1,
                ImageId               = 1,
                HashedPassword        = "******",
                RoleId                = 2
            };

            User rokoUniversity = new User
            {
                DateOfJoining         = DateTime.Parse("01/01/2017"),
                DepartmentId          = 15,
                FirstName             = "ROKO",
                LastName              = "University",
                Email                 = "*****@*****.**",
                Status                = Status.Special,
                PositionName          = "Roko University",
                ReportingManagerEmail = "*****@*****.**",
                CityId                = 1,
                ImageId               = 1,
                HashedPassword        = "******",
                RoleId                = 3
            };

            User anotherTest = new User
            {
                DateOfJoining         = DateTime.Parse("02/03/2020"),
                DepartmentId          = 1,
                FirstName             = "Another",
                LastName              = "Test",
                Email                 = "*****@*****.**",
                Status                = Status.Active,
                PositionName          = "Junior Software Engineer SE1L1",
                ReportingManagerEmail = "*****@*****.**",
                CityId                = 1,
                ImageId               = 1,
                HashedPassword        = "******",
                RoleId                = 2
            };

            User anastasiaBaeva = new User
            {
                DateOfJoining         = DateTime.Parse("08/12/2019"),
                DepartmentId          = 14,
                FirstName             = "Anastasia",
                LastName              = "Baeva",
                Email                 = "*****@*****.**",
                Status                = Status.Active,
                PositionName          = "Lead Software Testing Engineer QA4L3",
                ReportingManagerEmail = "*****@*****.**",
                CityId                = 1,
                ImageId               = 1,
                HashedPassword        = "******",
                RoleId                = 3
            };

            User[] users = { admin, testDummy, rokoUniversity, anotherTest, anastasiaBaeva };

            for (int i = 0; i < users.Length; i++)
            {
                context.Users.Add(users[i]);
                context.SaveChanges();
            }

            Award greatDeveloper = new Award
            {
                CreaterId    = 1,
                CreatingDate = DateTime.Parse("02/28/2020"),
                AwardType    = AwardType.Award,
                Description  = "Award for very great developers.",
                ImageId      = 5,
                AwardTitle   = "Great developer"
            };

            Award awardWithLargeDescription = new Award
            {
                CreaterId    = 1,
                CreatingDate = DateTime.Parse("03/03/2020"),
                AwardType    = AwardType.Award,
                Description  = "Here goes very large description of this award. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis dictum metus, sit amet semper neque. Nullam rutrum tortor placerat, auctor ligula quis, rhoncus nulla. Duis posuere, turpis at iaculis iaculis, erat erat interdum dui, non vehicula velit orci ut tellus. Suspendisse potenti. Sed vitae tempor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus venenatis rutrum tellus, vel consequat velit porta ut. Nullam eget purus efficitur, sollicitudin erat maximus, fringilla sapien. Ut id dignissim ipsum. Sed sed tincidunt nibh. Donec vitae ligula a magna laoreet iaculis at eu nisl. In vulputate aliquet eros, at efficitur lorem blandit id. Sed maximus semper ex a venenatis.",
                ImageId      = 2,
                AwardTitle   = "Award with large description"
            };

            Award thanksAward = new Award
            {
                CreaterId    = 1,
                CreatingDate = DateTime.Parse("03/03/2020"),
                AwardType    = AwardType.Thanks,
                Description  = "Thank you from a colleague.",
                ImageId      = 2,
                AwardTitle   = "Thanks"
            };

            Award[] awards = { greatDeveloper, awardWithLargeDescription, thanksAward };

            for (int i = 0; i < awards.Length; i++)
            {
                context.Awards.Add(awards[i]);
                context.SaveChanges();
            }

            UserAward ua1 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 1,
                FromUserId      = 1,
                AwardIdSent     = 1,
                AwardDate       = DateTime.Parse("03/03/2020"),
                Description     = "Good boy."
            };

            UserAward ua2 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 1,
                FromUserId      = 1,
                AwardIdSent     = 1,
                AwardDate       = DateTime.Parse("03/03/2020"),
                Description     = "Good boy again."
            };

            UserAward ua3 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 2,
                FromUserId      = 1,
                AwardIdSent     = 2,
                AwardDate       = DateTime.Parse("03/03/2020"),
                Description     = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.Suspendisse a facilisis nisi.In at semper ex.Mauris imperdiet finibus elit.Proin vitae ante bibendum, eleifend est eget, auctor lectus.Sed malesuada leo lectus, vitae auctor turpis consectetur in. Cras pulvinar metus varius nunc vestibulum, id consectetur velit blandit.Fusce et felis id nisl interdum accumsan nec et dolor.Ut lectus ligula, facilisis et massa a, euismod porta mauris.Ut non iaculis nibh.Donec pellentesque, massa vel condimentum finibus, eros quam condimentum ex, non pharetra velit eros ut urna.Mauris in tellus eleifend, finibus augue non, facilisis nisi.Aenean nec finibus nisl, a egestas lectus.Aliquam eget risus tincidunt, posuere risus non, egestas nisl.Aenean justo ligula, mollis nec sagittis ut, dapibus ut quam.Nullam tincidunt arcu eu massa lobortis, at sodales mauris feugiat.Aenean euismod risus metus, a imperdiet tortor aliquam eget."
            };

            UserAward ua4 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 3,
                FromUserId      = 1,
                AwardIdSent     = 3,
                AwardDate       = DateTime.Parse("03/03/2020"),
                Description     = "Thanks body. You are the best man in the world."
            };

            UserAward ua5 = new UserAward
            {
                UserId          = 2,
                AwardIdReceived = 1,
                FromUserId      = 1,
                AwardIdSent     = 1,
                AwardDate       = DateTime.Parse("03/03/2020"),
                Description     = "Porque tu lo vales."
            };

            UserAward ua6 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 2,
                FromUserId      = 1,
                AwardIdSent     = 2,
                AwardDate       = DateTime.Parse("03/03/2019"),
                Description     = "Last year you was good."
            };

            UserAward ua7 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 1,
                FromUserId      = 1,
                AwardIdSent     = 1,
                AwardDate       = DateTime.Parse("03/03/2019"),
                Description     = "Last year you was very good."
            };

            UserAward ua8 = new UserAward
            {
                UserId          = 4,
                AwardIdReceived = 3,
                FromUserId      = 1,
                AwardIdSent     = 3,
                AwardDate       = DateTime.Parse("03/03/2019"),
                Description     = "Thank you for last year."
            };

            UserAward ua9 = new UserAward
            {
                UserId          = 1,
                AwardIdReceived = 3,
                FromUserId      = 5,
                AwardIdSent     = 3,
                AwardDate       = DateTime.Parse("03/03/2020"),
                Description     = "For good app."
            };

            UserAward[] userAwards = { ua1, ua2, ua3, ua4, ua5, ua6, ua7, ua8, ua9 };

            for (int i = 0; i < userAwards.Length; i++)
            {
                context.UserAwards.Add(userAwards[i]);
                context.SaveChanges();
            }
        }
Пример #15
0
        public async Task <IActionResult> Put(int id, [FromBody] UserAward vm)
        {
            if (vm == null || vm.AwardID != id)
            {
                return(BadRequest());
            }

            // Update the database
            SqlConnection  conn        = null;
            SqlCommand     cmd         = null;
            SqlDataReader  reader      = null;
            String         queryString = "";
            String         strErrMsg   = "";
            HttpStatusCode errorCode   = HttpStatusCode.OK;

            // Get user name
            var    usr     = User.FindFirst(c => c.Type == "sub");
            String usrName = String.Empty;

            if (usr != null)
            {
                usrName = usr.Value;
            }
            else
            {
                return(BadRequest("No user info found"));
            }

            try
            {
                Boolean bAllow = false;
                queryString = @"SELECT COUNT(*) AS COUNT FROM [quizuser] WHERE [userid] = N'" + usrName + "' AND [award] LIKE '%U%'";
                using (conn = new SqlConnection(Startup.DBConnectionString))
                {
                    await conn.OpenAsync();

                    // Check the authority
                    cmd    = new SqlCommand(queryString, conn);
                    reader = await cmd.ExecuteReaderAsync();

                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            if (reader.GetInt32(0) > 0)
                            {
                                bAllow = true;
                                break;
                            }
                        }
                    }

                    reader.Dispose();
                    reader = null;
                    cmd.Dispose();
                    cmd = null;

                    if (!bAllow)
                    {
                        errorCode = HttpStatusCode.BadRequest;
                        throw new Exception("No authority to delete plan");
                    }

                    queryString = @"UPDATE [dbo].[useraward]
                                    SET [userid] = @userid
                                        ,[adate] = @adate
                                        ,[award] = @award
                                        ,[planid] = @planid
                                        ,[qid] = @qid
                                        ,[used] = @used
                                        ,[publish] = @publish
                                    WHERE [aid] = @aid;";

                    cmd = new SqlCommand(queryString, conn);
                    cmd.Parameters.AddWithValue("@userid", vm.UserID);
                    cmd.Parameters.AddWithValue("@adate", vm.AwardDate);
                    cmd.Parameters.AddWithValue("@award", vm.Award);
                    if (vm.AwardPlanID.HasValue)
                    {
                        cmd.Parameters.AddWithValue("@planid", vm.AwardPlanID);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@planid", DBNull.Value);
                    }
                    if (vm.QuizID.HasValue)
                    {
                        cmd.Parameters.AddWithValue("@qid", vm.QuizID);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@qid", DBNull.Value);
                    }
                    if (String.IsNullOrEmpty(vm.UsedReason))
                    {
                        cmd.Parameters.AddWithValue("@used", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@used", vm.UsedReason);
                    }
                    if (vm.Punish.HasValue)
                    {
                        cmd.Parameters.AddWithValue("@publish", vm.Punish.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@publish", DBNull.Value);
                    }
                    cmd.Parameters.AddWithValue("@aid", id);

                    Int32 nRst = await cmd.ExecuteNonQueryAsync();

                    cmd.Dispose();
                    cmd = null;
                }
            }
            catch (Exception exp)
            {
                System.Diagnostics.Debug.WriteLine(exp.Message);
                strErrMsg = exp.Message;
                if (errorCode == HttpStatusCode.OK)
                {
                    errorCode = HttpStatusCode.InternalServerError;
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Dispose();
                    reader = null;
                }
                if (cmd != null)
                {
                    cmd.Dispose();
                    cmd = null;
                }
                if (conn != null)
                {
                    conn.Dispose();
                    conn = null;
                }
            }

            if (errorCode != HttpStatusCode.OK)
            {
                switch (errorCode)
                {
                case HttpStatusCode.Unauthorized:
                    return(Unauthorized());

                case HttpStatusCode.NotFound:
                    return(NotFound());

                case HttpStatusCode.BadRequest:
                    return(BadRequest());

                default:
                    return(StatusCode(500, strErrMsg));
                }
            }

            return(new JsonResult(vm));
        }
Пример #16
0
        public async Task <IActionResult> Get(int id)
        {
            UserAward      objRst    = null;
            String         strErrMsg = "";
            SqlConnection  conn      = null;
            SqlCommand     cmd       = null;
            SqlDataReader  reader    = null;
            HttpStatusCode errorCode = HttpStatusCode.OK;

            try
            {
                String queryString = @"SELECT [aid],[userid],[adate],[award],[planid],[quiztype],[qid],[used],[publish] FROM [dbo].[v_useraward] WHERE [aid] = @aid;";

                using (conn = new SqlConnection(Startup.DBConnectionString))
                {
                    await conn.OpenAsync();

                    cmd = new SqlCommand(queryString, conn);
                    cmd.Parameters.AddWithValue("@aid", id);
                    reader = cmd.ExecuteReader();

                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            objRst = ConvertDB2VM(reader);
                            break;
                        }
                    }
                }
            }
            catch (Exception exp)
            {
                System.Diagnostics.Debug.WriteLine(exp.Message);
                strErrMsg = exp.Message;
                if (errorCode == HttpStatusCode.OK)
                {
                    errorCode = HttpStatusCode.InternalServerError;
                }
            }
            finally
            {
                if (reader != null)
                {
                    reader.Dispose();
                    reader = null;
                }
                if (cmd != null)
                {
                    cmd.Dispose();
                    cmd = null;
                }
                if (conn != null)
                {
                    conn.Dispose();
                    conn = null;
                }
            }

            if (errorCode != HttpStatusCode.OK)
            {
                switch (errorCode)
                {
                case HttpStatusCode.Unauthorized:
                    return(Unauthorized());

                case HttpStatusCode.NotFound:
                    return(NotFound());

                case HttpStatusCode.BadRequest:
                    return(BadRequest());

                default:
                    return(StatusCode(500, strErrMsg));
                }
            }

            var setting = new Newtonsoft.Json.JsonSerializerSettings
            {
                DateFormatString = "yyyy-MM-dd",
                ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
            };

            return(new JsonResult(objRst, setting));
        }
Пример #17
0
 private void PrintLine(StreamWriter streamWriter, UserAward userAward)
 {
     streamWriter.WriteLine(userAward.UserRef.Guid.ToString() + Separator + userAward.AwardRef.Guid.ToString());
     streamWriter.WriteLine();
 }
Пример #18
0
        public async Task <IActionResult> AddAward(AddAwardModel model)
        {
            if (ModelState.IsValid)
            {
                UserAward userAward = new UserAward();
                userAward.AwardReceived = new Award {
                    AwardTitle = model.AwardTitle
                };
                userAward.User = new User {
                    Email = model.RecepientEmail
                };
                userAward.Description = model.Description;
                userAward.FromUser    = new User {
                    Email = model.FromEmail
                };

                await _userAwardLogic.AddAwardAsync(userAward);
            }

            List <Award> awards = await _awardLogic.GetAwardsAsync();

            if (User.IsInRole("User"))
            {
                ViewBag.Awards = new SelectList(awards
                                                .Where(a => a.AwardType == AwardType.Thanks)
                                                .Select(a => a.AwardTitle)
                                                .OrderBy(a => a)
                                                .ToArray());
            }
            else
            {
                ViewBag.Awards = new SelectList(awards
                                                .Select(a => a.AwardTitle)
                                                .OrderBy(a => a)
                                                .ToArray());
            }

            List <User> users = await _userLogic.GetUsersAsync();

            var recepients = users
                             .Where(u => u.Email != User.Identity.Name && u.Status != Status.Special)
                             .Select(u => u.Email)
                             .OrderBy(u => u)
                             .ToArray();

            string[] usersFrom;
            if (User.IsInRole("User"))
            {
                usersFrom = users
                            .Where(u => u.Email == User.Identity.Name)
                            .Select(u => u.Email)
                            .OrderBy(u => u)
                            .ToArray();
            }
            else
            {
                usersFrom = users
                            .Where(u => u.Email == User.Identity.Name || u.Status == Status.Special)
                            .Select(u => u.Email)
                            .OrderBy(u => u)
                            .ToArray();
            }

            ViewBag.Recepients = new SelectList(recepients);
            ViewBag.UsersFrom  = new SelectList(usersFrom);

            return(PartialView("_AddAwardPartial", model));
        }