public async Task<IHttpActionResult> Put([FromODataUri] string key, Award model)//[FromODataUri] string key,
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (key != model.Id)
            {
                return BadRequest();
            }

            var category = await db.Awards.FindAsync(model.Id);

            if (category == null)
            {
                return NotFound();
            }

            category.Modify(model, db);
            //db.Entry(category).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return BadRequest(ex.Message);
            }

            return Updated(model);
        }
예제 #2
0
파일: DAL.cs 프로젝트: ayant/Fantiki
 public int AddAward(Award NewAward)
 {
     NewAward.ID = Guid.NewGuid();
     this.Awards.Add(NewAward);
     int rowsAffected = this.SaveChanges();
     return rowsAffected;
 }
 public Award Post(Award value)
 {
     value.EventTime = DateTime.Now;
     value.ClassId = this.ClassId;
     value.TeacherId = this.CurrentUser.UserID;
     StudentRepository.Add(value);
     return value;
 }
 public IEnumerable<Award> GetTags()
 {
     Award[] awards = new Award[]
     {
        new Award{Id=1, Content="!!!!!!"},
        new Award{Id=1, Content="!!!!!!!!!!!"}
     };
     return awards;
 }
예제 #5
0
 public ActionResult AddAward(int personId, int awardTypeId, short year, int? showId)
 {
     Show show = showId.HasValue ? DatabaseSession.Load<Show>(showId.Value) : null;
     var award = new Award(show, DatabaseSession.Load<Person>(personId), DatabaseSession.Load<AwardType>(awardTypeId), year);
     DatabaseSession.Save(award);
     return new ViewModelResult(new HttpApiResult
     {
         Message = "Award Added",
         RedirectToURL = this.GetURL(c => c.PersonDetails(personId)),
     });
 }
예제 #6
0
파일: AwardDao.cs 프로젝트: Tec4Gen/Epam
        public int Add(Award award)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                var command = connection.CreateCommand();

                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "[dbo].[Sp_InsertAward]";

                SqlParameter ParameterId = new SqlParameter
                {
                    DbType        = DbType.Int32,
                    ParameterName = "@Id",
                    Value         = award.Id,
                    Direction     = ParameterDirection.Output
                };
                command.Parameters.Add(ParameterId);

                SqlParameter ParameterTitle = new SqlParameter
                {
                    DbType        = DbType.String,
                    ParameterName = "@Title",
                    Value         = award.Title,
                    Direction     = ParameterDirection.Input
                };
                command.Parameters.Add(ParameterTitle);

                SqlParameter ParameterImage = new SqlParameter
                {
                    DbType        = DbType.Binary,
                    ParameterName = "@Image",
                    Value         = award.Image,
                    Direction     = ParameterDirection.Input
                };
                command.Parameters.Add(ParameterImage);

                connection.Open();

                command.ExecuteNonQuery();

                return((int)ParameterId.Value);
            }
        }
예제 #7
0
        public void UpdateAward(string id, string title)
        {
            if (id != null)
            {
                Int32.TryParse(id, out int currentId);
                byte[] image = GetAndResizeImageFromRequest();

                _currentAward = AwardLogic.GetById(currentId);

                _currentAward.Title = title;
                if (image != null)
                {
                    _currentAward.Image = image;
                }

                AwardLogic.UpdateAward(_currentAward);
                AwardLogic.SaveAwards();
            }
        }
예제 #8
0
        internal static void GetAllAwards()
        {
            List <Award> awardInfo = usersmanager.GetAllAwards().ToList <Award>();

            if (awardInfo.Count == 0)
            {
                Console.WriteLine("No awards at all");
            }
            else
            {
                CountAwardIds();
                Console.WriteLine(AwardsString, "Id", "Award Type");
                foreach (var item in AwardIds)
                {
                    Award award = awardInfo.Single(n => n.Id == AwardIds[item.Key]);
                    Console.WriteLine(AwardsString, item.Key.ToString(), award.Title.ToString());
                }
            }
        }
예제 #9
0
        // GET: Admin/Awards/Details/5
        public ActionResult Details(int?id)
        {
            if (Session["Login"] == null || (bool)Session["Login"] == false)
            {
                return(RedirectToAction("Login", "Login"));
            }
            ;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Award award = db.Awards.Find(id);

            if (award == null)
            {
                return(HttpNotFound());
            }
            return(View(award));
        }
예제 #10
0
 public Award Get(Guid id)
 {
     using (var connection = new SqlConnection(connectionString))
     {
         Award myAward = null;
         var   command = connection.CreateCommand();
         command.CommandText = "SELECT Title FROM dbo.Awards WHERE Id = @ID";
         command.Parameters.AddWithValue("@ID", id);
         connection.Open();
         using (var reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 myAward = new Award((string)reader["Title"], (Guid)reader["Id"]);
             }
         }
         return(myAward);
     }
 }
예제 #11
0
        public int?AwardAdd(Award award)
        {
            int?awardID = null;

            try
            {
                using (NetballEntities context = new NetballEntities())
                {
                    context.Entry(award).State = EntityState.Added;
                    context.SaveChanges();
                    awardID = award.AwardID;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(awardID);
        }
예제 #12
0
        public AwardModel CheckCode(UserCodeModel userCodeModel)
        {
            using (var uow = new UnitOfWork(_dbContext))
            {
                var code = _codeRepository.GetAll().FirstOrDefault(x => x.CodeValue == userCodeModel.Code.CodeValue);
                if (code == null)
                {
                    throw new ApplicationException("Invalid code.");
                }
                if (code.IsUsed)
                {
                    throw new ApplicationException("Code used.");
                }
                var userCode = new UserCode
                {
                    Code      = code,
                    Email     = userCodeModel.Email,
                    FirstName = userCodeModel.FirstName,
                    LastName  = userCodeModel.LastName,
                    SendAt    = DateTime.Now
                };

                _userCodeRepository.Insert(userCode);

                Award award = null;
                if (code.IsWinning)
                {
                    award = GetRandomAward(RuffledType.Immediate);

                    var userCodeAward = new UserCodeAward
                    {
                        Award    = award,
                        UserCode = userCode,
                        WonAt    = DateTime.Now
                    };
                    _userCodeAwardRepository.Insert(userCodeAward);
                }

                code.IsUsed = true;
                uow.Commit();
                return(award?.Map <Award, AwardModel>());
            }
        }
예제 #13
0
        public Award GetAwardById(Guid awardId)
        {
            string sqlAward      = String.Format("SELECT * FROM Awards WHERE Id='{0}'", awardId);
            string sqlAwardUsers = String.Format("SELECT * FROM UsersAwards WHERE AwardId='{0}'", awardId);

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                SqlCommand    command = new SqlCommand(sqlAward, connection);
                SqlDataReader reader  = command.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Award award = new Award((string)reader["title"]);
                        award.ID = Guid.Parse((string)reader["id"]);
                        reader.Close();

                        command = new SqlCommand(sqlAwardUsers, connection);
                        reader  = command.ExecuteReader();

                        List <Guid> usersGuids = new List <Guid>();
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                usersGuids.Add(Guid.Parse((string)reader["UserId"]));
                            }
                        }

                        award.UsersId = usersGuids;

                        reader.Close();

                        return(award);
                    }
                }

                reader.Close();
                return(null);
            }
        }
예제 #14
0
        /// <summary>
        /// awards an attribute-up
        /// </summary>
        /// <param name="award"></param>
        private void awardAttributeUp(Award award)
        {
            Statistics statistics = (Statistics)v_AttributeMapper.get(award.Receiver);

            //attributes.StatisticSet[award.AttributeType] += award.MaxAwardable;
            switch (award.StatType)
            {
            case StatType.ENDURANCE:
                statistics.Endurance.Value += award.MaxAwardable;
                break;

            case StatType.FOCUS:
                statistics.Focus.Value += award.MaxAwardable;
                break;

            case StatType.MIND:
                statistics.Mind.Value += award.MaxAwardable;
                break;

            case StatType.MUSCLE:
                statistics.Muscle.Value += award.MaxAwardable;
                break;

            case StatType.PERCEPTION:
                statistics.Perception.Value += award.MaxAwardable;
                break;

            case StatType.PERSONALITY:
                statistics.Personality.Value += award.MaxAwardable;
                break;

            case StatType.QUICKNESS:
                statistics.Quickness.Value += award.MaxAwardable;
                break;
            }

            Position pos = (Position)v_PositionMapper.get(award.Receiver);

            if (pos != null)
            {
                UIFactory.createFloatingText("+" + award.MaxAwardable + " [" + award.StatType.ToString() + "]", "GENERAL", Color.Orange, 1000, new Position(pos.Pos, pos.Offset));
            }
        }
예제 #15
0
        public void Add(User user, Award award)
        {
            repoAwards.Clear();
            repoAwards = this.GetAll().ToList <Award>();

            using (var sqlConnection = new SqlConnection(this._connectionString))
            {
                var command = sqlConnection.CreateCommand();
                command.CommandText = "DELETE FROM useraward WHERE id_award IS NULL AND id_user = "******";INSERT INTO useraward (id_user, id_award) VALUES (" + user.Id + "," + award.Id + ")";
                command.CommandType = CommandType.Text;

                sqlConnection.Open();
                command.ExecuteReader();
                sqlConnection.Close();
            }

            repoAwards.Clear();
            repoAwards = this.GetAll().ToList <Award>();
        }
예제 #16
0
        private static void CreateAward()
        {
            string title = string.Empty;

            while (title == string.Empty)
            {
                Console.Write("Input title: ");
                title = Console.ReadLine();
            }

            var award = new Award
            {
                Title = title,
            };

            awardLogic.Add(award);
            Console.WriteLine($"Added: {award}");
            Pause();
        }
예제 #17
0
 public static void ShowSiteUsers(ISiteUserLogic siteUserLogic, IAwardLogic awardLogic)
 {
     Console.WriteLine($"Name AwardId");
     foreach (var siteUser in siteUserLogic.GetAll())
     {
         Console.Write(siteUser);
         int[] listOfAwards = GetAwardsIdBySiteUsername(siteUserLogic, siteUser.Name);
         if (!(listOfAwards == null))
         {
             foreach (int awardId in listOfAwards)
             {
                 Award award = new Award();
                 award = GetAwardById(awardLogic, awardId);
                 Console.Write($" award '{award.Title}' with id {award.Id}");
             }
         }
         Console.WriteLine();
     }
 }
예제 #18
0
        public List <Award> GetAwards()
        {
            var          awards        = new List <Award>();
            const string sqlExpression = "SELECT ID, Title FROM Awards";

            using var connection = _dbUtils.GetDbConnection();
            connection.Open();
            using var cmd        = new SqlCommand(sqlExpression, connection);
            using var dataReader = cmd.ExecuteReader();
            while (dataReader.Read())
            {
                var aw = new Award((int)(dataReader["ID"]), (string)(dataReader["Title"]))
                {
                    Users = GetUsersForAward((int)dataReader["ID"])
                };
                awards.Add(aw);
            }
            return(awards);
        }
예제 #19
0
파일: Treasure.cs 프로젝트: KuromeSan/HISP
        public void CollectTreasure(User user)
        {
            treasures.Remove(this);
            Database.DeleteTreasure(this.RandomId);
            GenerateTreasure();

            byte[] MovementPacket = PacketBuilder.CreateMovementPacket(user.X, user.Y, user.CharacterId, user.Facing, PacketBuilder.DIRECTION_TELEPORT, true);
            user.LoggedinClient.SendPacket(MovementPacket);

            user.AddMoney(Value);

            if (this.Type == "BURIED")
            {
                byte[] treasureReceivedPacket = PacketBuilder.CreateChat(Messages.FormatPirateTreasure(this.Value), PacketBuilder.CHAT_BOTTOM_RIGHT);
                user.LoggedinClient.SendPacket(treasureReceivedPacket);
                user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PirateTreasure).Count++;

                if (user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PirateTreasure).Count >= 10)
                {
                    user.Awards.AddAward(Award.GetAwardById(18)); // Pirate Tracker
                }
                if (user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PirateTreasure).Count >= 100)
                {
                    user.Awards.AddAward(Award.GetAwardById(19)); // Pirate Stalker
                }
            }
            else if (this.Type == "RAINBOW")
            {
                byte[] treasureReceivedPacket = PacketBuilder.CreateChat(Messages.FormatPotOfGold(this.Value), PacketBuilder.CHAT_BOTTOM_RIGHT);
                user.LoggedinClient.SendPacket(treasureReceivedPacket);

                user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PotOfGold).Count++;

                if (user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PotOfGold).Count >= 3)
                {
                    user.Awards.AddAward(Award.GetAwardById(20)); // Leprechaun
                }
                if (user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PirateTreasure).Count >= 20)
                {
                    user.Awards.AddAward(Award.GetAwardById(21)); // Lucky Leprechaun
                }
            }
        }
예제 #20
0
파일: DALaward.cs 프로젝트: nzgf1434/Task11
 public DALaward()
 {
     awardlist.Clear();
     if (File.Exists(awardsPath))
     {
         readUs = File.ReadAllLines(awardsPath);
         for (int i = 0; i < readUs.Length; i++)
         {
             string[] awardData = readUs[i].Split(',');
             Award    award     = new Award(awardData[0]);
             award.Id = Guid.Parse(awardData[1]);
             if (awardData.Length > 2)
             {
                 award.awardFotoPath = awardData[2];
             }
             awardlist.Add(award);
         }
     }
 }
        // GET: Awards/Delete/5
        public ActionResult Delete(int?id)
        {
            if (!Check_Admin())
            {
                return(RedirectToAction("Index", "Login"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Award award = db.Awards.Find(id);

            if (award == null)
            {
                return(HttpNotFound());
            }
            return(View(award));
        }
예제 #22
0
        public void AddAward(Award award)
        {
            repoAwards.Clear();
            repoAwards = this.GetAll().ToList <Award>();

            using (var sqlConnection = new SqlConnection(this._connectionString))
            {
                var command = sqlConnection.CreateCommand();
                command.CommandText = "INSERT INTO award (title) VALUES (\'" + award.Title + "\')";
                command.CommandType = CommandType.Text;

                sqlConnection.Open();
                command.ExecuteReader();
                sqlConnection.Close();
            }

            repoAwards.Clear();
            repoAwards = this.GetAll().ToList <Award>();
        }
예제 #23
0
        public void Add(Award award)
        {
            if (File.ReadAllLines(this.file.FullName).Count() != 0)
            {
                var  last      = File.ReadAllLines(this.file.FullName).Last();
                User awardLast = JsonConvert.DeserializeObject <User>(last);
                award.Id = awardLast.Id + 1;
            }
            else
            {
                award.Id = 1;
            }

            using (StreamWriter sw = this.file.AppendText())
            {
                string serialize = JsonConvert.SerializeObject(award);
                sw.WriteLine(serialize);
            }
        }
예제 #24
0
        public List <Award> SelectAwardByAwardID(int awardID)
        {
            List <Award> awards = new List <Award>();

            var conn = DBConnection.GetDBConnection();
            var cmd  = new SqlCommand("sp_select_award_by_awardID", conn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add("@AwardID", SqlDbType.Int);
            cmd.Parameters["@AwardID"].Value = awardID;

            try
            {
                conn.Open();
                var reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Award award = new Award();
                        award.AwardID          = reader.GetInt32(0);
                        award.AwardName        = reader.GetString(1);
                        award.AwardDescription = reader.GetString(2);
                        award.GoalID           = reader.GetInt32(3);
                        award.GoalTypeID       = reader.GetInt32(4);
                        award.Active           = reader.GetBoolean(5);

                        awards.Add(award);
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally {
                conn.Close();
            }

            return(awards);
        }
예제 #25
0
        public IEnumerable <Award> Get()
        {
            string       line   = string.Empty;
            List <Award> result = new List <Award>();
            StreamReader sr     = new StreamReader(this.file.FullName);

            while (line != null)
            {
                line = sr.ReadLine();
                if (line != null)
                {
                    Award award = JsonConvert.DeserializeObject <Award>(line);
                    result.Add(award);
                }
            }

            sr.Close();
            return(result);
        }
예제 #26
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var bll = DependencyResolver.Instance.UsersLogic;

            Award a1 = new Award(Guid.NewGuid(), "Music");
            Award a2 = new Award(Guid.NewGuid(), "Sport");
            Award a3 = new Award(Guid.NewGuid(), "My love");
            User  u1 = new User(Guid.NewGuid(), "Nastya", Convert.ToDateTime("10.05.2001"), 20);
            User  u2 = new User(Guid.NewGuid(), "Darya", Convert.ToDateTime("03.11.2001"), 19);

            u1.AddAward(a1);

            bll.AddUser(u1);
            bll.AddAward(Guid.Parse("22a1938d-e7d8-4001-b2fd-7e8eafaaf28e"), a3);

            bll.ViewAll();
        }
예제 #27
0
        public void Win(User winner)
        {
            if (!Active)
            {
                return;
            }

            if (Database.HasPlayerCompletedRealTimeRiddle(RiddleId, winner.Id))
            {
                return;
            }

            Database.CompleteRealTimeRiddle(RiddleId, winner.Id);

            winner.TrackedItems.GetTrackedItem(Tracking.TrackableItem.RiddleWin).Count++;

            if (winner.TrackedItems.GetTrackedItem(Tracking.TrackableItem.RiddleWin).Count >= 25)
            {
                winner.Awards.AddAward(Award.GetAwardById(33)); // Quick Wit
            }
            if (winner.TrackedItems.GetTrackedItem(Tracking.TrackableItem.RiddleWin).Count >= 250)
            {
                winner.Awards.AddAward(Award.GetAwardById(34)); // Riddle Genius
            }
            winner.Money += Reward;
            byte[] riddleWonMessage    = PacketBuilder.CreateChat(Messages.FormatEventRealTimeRiddleWonForOthers(winner.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
            byte[] riddleYouWonMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeRiddleWonForYou(Reward), PacketBuilder.CHAT_BOTTOM_RIGHT);
            foreach (GameClient client in GameServer.ConnectedClients)
            {
                if (client.LoggedIn)
                {
                    if (client.LoggedinUser.Id != winner.Id)
                    {
                        client.SendPacket(riddleWonMessage);
                    }
                    else
                    {
                        client.SendPacket(riddleYouWonMessage);
                    }
                }
            }
            EndEvent();
        }
예제 #28
0
        public IHttpActionResult DeleteAward(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Award award = _dALAward.GetAwardById(id);

            if (id != award.Id)
            {
                return(BadRequest());
            }

            award.Deleted = true;
            _dALAward.DeleteAward(award.Id);

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #29
0
        public Guid AddAward(Award award)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                SqlCommand command = new SqlCommand("dbo.Award_AddAward", connection)
                {
                    CommandType = System.Data.CommandType.StoredProcedure
                };

                command.Parameters.AddWithValue("@Id", award.Id);
                command.Parameters.AddWithValue("@Title", award.Title);

                connection.Open();

                command.ExecuteNonQuery();

                return(award.Id);
            }
        }
        // GET: Adminpanel/Awards/Edit/5
        public ActionResult Edit(int?id)
        {
            if (!AdminpanelMethods.CheckAdminLogin())
            {
                return(RedirectToAction("Index", "Login"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Award award = db.Awards.Find(id);

            if (award == null)
            {
                return(HttpNotFound());
            }
            ViewBag.award_emp_id = new SelectList(db.Employees, "id", "emp_fullname", award.award_emp_id);
            return(View(award));
        }
예제 #31
0
 private static void ShowUsers(IUserLogic userLogic, IAwardLogic awardLogic)
 {
     Console.WriteLine($"Id Name DateOfBirthday Age");
     foreach (var user in userLogic.GetAll())
     {
         Console.Write(user);
         int[] listOfAwards = GetAwardsIdByUserId(userLogic, user.Id);
         if (!(listOfAwards == null))
         {
             foreach (int awardId in listOfAwards)
             {
                 Award award = new Award();
                 award = GetAwardById(awardLogic, awardId);
                 Console.Write($" award '{award.Title}' with id {award.Id}");
             }
         }
         Console.WriteLine();
     }
 }
예제 #32
0
 public IActionResult OdulDuzenle(int Id, Award award)
 {
     int developerId = Convert.ToInt32(HttpContext.Session.GetString("SessionDeveloperId"));
     Award findAward = _awardService.GetAwardById(Id);
     if (findAward == null)
     {
         return RedirectToAction("Hata", "Uye");
     }
     if (findAward.DeveloperId != developerId)
     {
         return RedirectToAction("Hata", "Uye");
     }
     findAward.Title = award.Title;
     findAward.Description = award.Description;
     findAward.Date = award.Date;
     _awardService.Update(findAward);
     TempData["AddSuccessMessage"] = "Ödül Düzenleme Başarıyla Gerçekleştirildi.";
     return RedirectToAction("YazilimciProfil", "Uye");
 }
예제 #33
0
        public async Task <int> CreateAsync(string name, string latinName, DateTime datetime, string location, string place, string imageUrl, string userId)
        {
            var award = new Award
            {
                Name      = name,
                Date      = datetime,
                UserId    = userId,
                ImageUrl  = imageUrl.Insert(54, "c_fill,h_493,w_690/"),
                LatinName = latinName,
                Location  = location,
                Place     = place,
            };

            await this.awardsRepository.AddAsync(award);

            await this.awardsRepository.SaveChangesAsync();

            return(award.Id);
        }
		public void Setup()
		{
			ActiveRecordStarter.ResetInitializationFlag();

			ActiveRecordStarter.Initialize(GetConfigSource(),
			                               typeof(Blog),
			                               typeof(Post),
			                               typeof(Company),
			                               typeof(Award),
			                               typeof(Employee),
			                               typeof(Person));
			Recreate();

			Post.DeleteAll();
			Blog.DeleteAll();
			Company.DeleteAll();
			Award.DeleteAll();
			Employee.DeleteAll();
		}
예제 #35
0
 /// <summary>
 /// TODO: DEBUG, some bugs with this method
 /// </summary>
 /// <param name="srcfile"></param>
 /// <returns></returns>
 public Award unSerializeAward(string srcfile)
 {
     if (File.Exists(srcfile))
     {
         JavaScriptSerializer deser = new JavaScriptSerializer();
         string contents;
         using (StreamReader sr = new StreamReader(srcfile))
         {
             contents = sr.ReadToEnd();
         }
         Type  c     = typeof(Candidates);
         Award award = deser.Deserialize <Award>(contents);
         return(award);
     }
     else
     {
         throw new Exception("file: " + srcfile + " does not exist.");
     }
 }
        public async Task<IHttpActionResult> Post(Award model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            try
            {
                model.Create(db);

                db.Awards.Add(model);

                await db.SaveChangesAsync();

                return Ok(model);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("PostError", ex.Message);

                return BadRequest(ModelState);
            }
        }
예제 #37
0
파일: DAL.cs 프로젝트: ayant/Fantiki
 public int UpdateAward(Award UpdatedAward)
 {
     var a = this.Awards.Find(UpdatedAward.ID);
     a.Name = UpdatedAward.Name;
     a.BonusesRequired = UpdatedAward.BonusesRequired;
     a.Description = UpdatedAward.Description;
     int rowsAffected = this.SaveChanges();
     return rowsAffected;
 }
예제 #38
0
        public void RelationsOneToOne()
        {
            using (new SessionScope()) {

                var emp = new Employee {FirstName = "john", LastName = "doe"};
                emp.Save();

                Assert.AreEqual(1, Employee.FindAll().Count());

                var award = new Award(emp) {Description = "Invisible employee"};
                award.Save();

                emp.Award = award;
                emp.Save();

                Assert.AreEqual(1, Award.FindAll().Count());

                var emp2 = Employee.Find(emp.Id);
                Assert.IsNotNull(emp2);
                Assert.IsNotNull(emp2.Award);
                Assert.AreEqual(emp.FirstName, emp2.FirstName);
                Assert.AreEqual(emp.LastName, emp2.LastName);
                Assert.AreEqual(award.Description, emp2.Award.Description);
            }
        }
        public ActionResult AddNewAward(string awardName)
        {
            var newAward = new Award
            {
                Headline = awardName,
                PublishDate = DateTime.Now,
                LinkPath = "/Awards/" + MakeUrl(awardName),
                Culture = _curCult
            };
            try
            {
                _context.Awards.Add(newAward);

                if (_settings.CreateContentOnAllLanguages)
                {
                    var cultList = _settings.ImplementedCultures;
                    cultList.Remove(_curCult);
                    foreach (var cult in cultList)
                    {
                        var newItem = new Award
                        {
                            Headline = awardName,
                            PublishDate = DateTime.Now,
                            LinkPath = "/Awards/" + MakeUrl(awardName),
                            Culture = cult
                        };
                        _context.Awards.Add(newItem);
                    }
                }

                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                return Json(new { status = "SPCD: ERR - " + ex.Message });
            }

            return Json(new { status = "SPCD: AWADDED", award = newAward });
        }
예제 #40
0
 public static Award CreateAward(decimal aSSOC_ROW, decimal productId)
 {
     Award award = new Award();
     award.ASSOC_ROW = aSSOC_ROW;
     award.ProductId = productId;
     return award;
 }
        private void ShowStats()
        {
            // Check cache
            if (!base.CacheFileExpired(Pid.ToString(), 30))
            {
                base.SendCachedResponse(Pid.ToString());
                return;
            }

            // Load our Model
            PlayerModel Model = new PlayerModel(Client);
            Model.Player = Rows[0];
            Model.SearchBarValue = Pid.ToString();

            // Setup player variables
            int PlayerKills = Int32.Parse(Model.Player["kills"].ToString());
            double AcctsFor = 0;
            int j = 0;

            // My Leaderboard stuff
            Cookie C = Client.Request.Request.Cookies["leaderboard"] ?? new Cookie("leaderboard", "");
            Model.OnMyLeaderboard = C.Value.Contains(Pid.ToString());

            #region ArmyData
            // Fetch army data
            Rows = Database.Query("SELECT * FROM army WHERE id=@P0", Pid);
            foreach (KeyValuePair<int, string> Army in Bf2StatsData.Armies)
            {
                int Wins = Int32.Parse(Rows[0]["win" + Army.Key].ToString());
                int Losses = Int32.Parse(Rows[0]["loss" + Army.Key].ToString());
                Model.ArmyData.Add(new ArmyMapStat
                {
                    Id = Army.Key,
                    Time = Int32.Parse(Rows[0]["time" + Army.Key].ToString()),
                    Wins = Wins,
                    Losses = Losses,
                    Best = Int32.Parse(Rows[0]["best" + Army.Key].ToString()),
                });

                Model.ArmySummary.TotalWins += Wins;
                Model.ArmySummary.TotalLosses += Losses;
                Model.ArmySummary.TotalTime += Model.ArmyData[j].Time;
                Model.ArmySummary.TotalBest += Model.ArmyData[j].Best;
                j++;
            }
            #endregion ArmyData

            #region MapData
            // Fetch Map Data
            j = 0;
            Rows = Database.Query("SELECT * FROM maps WHERE id=@P0 ORDER BY mapid", Pid);
            foreach (Dictionary<string, object> Row in Rows)
            {
                // Do we support this map id?
                if (!Bf2StatsData.Maps.Keys.Contains(Int32.Parse(Row["mapid"].ToString())))
                    continue;

                int Wins = Int32.Parse(Row["win"].ToString());
                int Losses = Int32.Parse(Row["loss"].ToString());
                Model.MapData.Add(new ArmyMapStat
                {
                    Id = Int32.Parse(Row["mapid"].ToString()),
                    Time = Int32.Parse(Row["time"].ToString()),
                    Wins = Wins,
                    Losses = Losses,
                    Best = Int32.Parse(Row["best"].ToString()),
                });

                Model.MapSummary.TotalWins += Wins;
                Model.MapSummary.TotalLosses += Losses;
                Model.MapSummary.TotalTime += Model.MapData[j].Time;
                Model.MapSummary.TotalBest += Model.MapData[j].Best;
                j++;
            }
            #endregion MapData

            #region TheaterData
            // Do Theater Data
            foreach (KeyValuePair<string, int[]> t in Bf2StatsData.TheatreMapIds)
            {
                j = 0;
                string inn = String.Join(",", t.Value);
                Rows = Database.Query(
                    "SELECT COALESCE(sum(time), 0) as time, COALESCE(sum(win), 0) as win, COALESCE(sum(loss), 0) as loss, COALESCE(max(best), 0) as best "
                    + "FROM maps WHERE mapid IN (" + inn + ") AND id=@P0", Pid
                );

                //
                Model.TheaterData.Add(new TheaterStat
                {
                    Name = t.Key,
                    Time = Int32.Parse(Rows[0]["time"].ToString()),
                    Wins = Int32.Parse(Rows[0]["win"].ToString()),
                    Losses = Int32.Parse(Rows[0]["loss"].ToString()),
                    Best = Int32.Parse(Rows[0]["best"].ToString()),
                });
            }
            #endregion TheaterData

            #region VehicleData
            // Fetch Vehicle Data
            Rows = Database.Query("SELECT * FROM vehicles WHERE id=@P0", Pid);
            for (int i = 0; i < 7; i++)
            {
                int Kills = Int32.Parse(Rows[0]["kills" + i].ToString());
                int Deaths = Int32.Parse(Rows[0]["deaths" + i].ToString());
                int RoadKills = Int32.Parse(Rows[0]["rk" + i].ToString());
                Model.VehicleData.Add(new ObjectStat
                {
                    Time = Int32.Parse(Rows[0]["time" + i].ToString()),
                    Kills = Kills,
                    Deaths = Deaths,
                    RoadKills = RoadKills,
                    KillsAcctFor = (PlayerKills == 0 || Kills == 0) ? 0.00 : Math.Round(100 * ((double)(RoadKills + Kills) / PlayerKills), 2)
                });

                Model.VehicleSummary.TotalKills += Kills;
                Model.VehicleSummary.TotalDeaths += Deaths;
                Model.VehicleSummary.TotalTime += Model.VehicleData[i].Time;
                Model.VehicleSummary.TotalRoadKills += Model.VehicleData[i].RoadKills;
                AcctsFor += Model.VehicleData[i].KillsAcctFor;
            }

            // Add para time
            Model.VehicleData.Add(new ObjectStat { Time = Int32.Parse(Rows[0]["timepara"].ToString()) });
            Model.VehicleSummary.KillsAcctFor = (AcctsFor > 0) ? Math.Round(AcctsFor / 7, 2) : 0.00;
            #endregion VehicleData

            #region XpackTime
            // Do Expansion time
            foreach (KeyValuePair<string, List<int>> t in Bf2StatsData.ModMapIds)
            {
                if (t.Value.Count > 0)
                {
                    string inn = String.Join(",", t.Value);
                    Rows = Database.Query("SELECT COALESCE(sum(time), 0) as time FROM maps WHERE mapid IN (" + inn + ") AND id=@P0", Pid);
                    if (Model.ExpackTime.ContainsKey(t.Key))
                        Model.ExpackTime[t.Key] = Int32.Parse(Rows[0]["time"].ToString());
                    else
                        Model.ExpackTime.Add(t.Key, Int32.Parse(Rows[0]["time"].ToString()));
                }
            }
            #endregion XpackTime

            #region KitData
            // Fetch Kit Data
            AcctsFor = 0;
            Rows = Database.Query("SELECT * FROM kits WHERE id=@P0", Pid);
            for (int i = 0; i < 7; i++)
            {
                int Kills = Int32.Parse(Rows[0]["kills" + i].ToString());
                int Deaths = Int32.Parse(Rows[0]["deaths" + i].ToString());
                Model.KitData.Add(new ObjectStat
                {
                    Time = Int32.Parse(Rows[0]["time" + i].ToString()),
                    Kills = Kills,
                    Deaths = Deaths,
                    KillsAcctFor = (PlayerKills == 0 || Kills == 0) ? 0.00 : Math.Round(100 * ((double)Kills / PlayerKills), 2)
                });

                Model.KitSummary.TotalKills += Kills;
                Model.KitSummary.TotalDeaths += Deaths;
                Model.KitSummary.TotalTime += Model.KitData[i].Time;
                AcctsFor += Model.KitData[i].KillsAcctFor;
            }
            Model.KitSummary.KillsAcctFor = (AcctsFor > 0) ? Math.Round(AcctsFor / 7, 2) : 0.00;
            #endregion KitData

            #region WeaponData
            // Fetch weapon Data
            AcctsFor = 0;
            double AcctsFor2 = 0;
            Rows = Database.Query("SELECT * FROM weapons WHERE id=@P0", Pid);
            for (int i = 0; i < 15; i++)
            {
                if (i < 9)
                {
                    int Kills = Int32.Parse(Rows[0]["kills" + i].ToString());
                    int Deaths = Int32.Parse(Rows[0]["deaths" + i].ToString());
                    int Hits = Int32.Parse(Rows[0]["hit" + i].ToString());
                    int Fired = Int32.Parse(Rows[0]["fired" + i].ToString());
                    Model.WeaponData.Add(new WeaponStat
                    {
                        Time = Int32.Parse(Rows[0]["time" + i].ToString()),
                        Kills = Kills,
                        Deaths = Deaths,
                        Hits = Hits,
                        Fired = Fired,
                        KillsAcctFor = (PlayerKills == 0 || Kills == 0) ? 0.00 : Math.Round(100 * ((double)Kills / PlayerKills), 2)
                    });
                }
                else
                {
                    string Pfx = GetWeaponTblPrefix(i);
                    int Kills = Int32.Parse(Rows[0][Pfx + "kills"].ToString());
                    int Deaths = Int32.Parse(Rows[0][Pfx + "deaths"].ToString());
                    int Hits = Int32.Parse(Rows[0][Pfx + "hit"].ToString());
                    int Fired = Int32.Parse(Rows[0][Pfx + "fired"].ToString());
                    Model.WeaponData.Add(new WeaponStat
                    {
                        Time = Int32.Parse(Rows[0][Pfx + "time"].ToString()),
                        Kills = Kills,
                        Deaths = Deaths,
                        Hits = Hits,
                        Fired = Fired,
                        KillsAcctFor = (PlayerKills == 0 || Kills == 0) ? 0.00 : Math.Round(100 * ((double)Kills / PlayerKills), 2)
                    });
                }
            }

            Model.WeaponData.Add(new WeaponStat
            {
                Time = Int32.Parse(Rows[0]["tacticaltime"].ToString()),
                Fired = Int32.Parse(Rows[0]["tacticaldeployed"].ToString())
            });

            Model.WeaponData.Add(new WeaponStat
            {
                Time = Int32.Parse(Rows[0]["grapplinghooktime"].ToString()),
                Deaths = Int32.Parse(Rows[0]["grapplinghookdeaths"].ToString()),
                Fired = Int32.Parse(Rows[0]["grapplinghookdeployed"].ToString())
            });

            Model.WeaponData.Add(new WeaponStat
            {
                Time = Int32.Parse(Rows[0]["ziplinetime"].ToString()),
                Deaths = Int32.Parse(Rows[0]["ziplinedeaths"].ToString()),
                Fired = Int32.Parse(Rows[0]["ziplinedeployed"].ToString())
            });

            for (int i = 0; i < 17; i++)
            {
                Model.WeaponSummary.TotalKills += Model.WeaponData[i].Kills;
                Model.WeaponSummary.TotalDeaths += Model.WeaponData[i].Deaths;
                Model.WeaponSummary.TotalTime += Model.WeaponData[i].Time;
                Model.WeaponSummary.TotalHits += Model.WeaponData[i].Hits;
                Model.WeaponSummary.TotalFired += Model.WeaponData[i].Fired;
                AcctsFor += Model.WeaponData[i].KillsAcctFor;

                if (i > 8)
                {
                    Model.EquipmentSummary.TotalKills += Model.WeaponData[i].Kills;
                    Model.EquipmentSummary.TotalDeaths += Model.WeaponData[i].Deaths;
                    Model.EquipmentSummary.TotalTime += Model.WeaponData[i].Time;
                    Model.EquipmentSummary.TotalHits += Model.WeaponData[i].Hits;
                    Model.EquipmentSummary.TotalFired += Model.WeaponData[i].Fired;
                    AcctsFor2 += Model.WeaponData[i].KillsAcctFor;
                }
            }
            Model.WeaponSummary.KillsAcctFor = (AcctsFor > 0) ? Math.Round(AcctsFor / 15, 2) : 0.00;
            Model.EquipmentSummary.KillsAcctFor = (AcctsFor > 0) ? Math.Round(AcctsFor / 6, 2) : 0.00;

            // Extra weapon data DEFIB
            Model.WeaponData2.Add(Model.WeaponData[13]);

            // Extra Weapon data Explosives
            Model.WeaponData2.Add(new WeaponStat
            {
                Time = Model.WeaponData[10].Time + Model.WeaponData[11].Time + Model.WeaponData[14].Time,
                Kills = Model.WeaponData[10].Kills + Model.WeaponData[11].Kills + Model.WeaponData[14].Kills,
                Deaths = Model.WeaponData[10].Deaths + Model.WeaponData[11].Deaths + Model.WeaponData[14].Deaths,
                Hits = Model.WeaponData[10].Hits + Model.WeaponData[11].Hits + Model.WeaponData[14].Hits,
                Fired = Model.WeaponData[10].Fired + Model.WeaponData[11].Fired + Model.WeaponData[14].Fired,
                KillsAcctFor = Model.WeaponData[10].KillsAcctFor + Model.WeaponData[11].KillsAcctFor + Model.WeaponData[14].KillsAcctFor
            });

            // Extra weapon data Grenade
            Model.WeaponData2.Add(Model.WeaponData[12]);

            #endregion WeaponData

            #region Favorites

            // Add Favorites
            Model.Favorites.Add("army", (from x in Model.ArmyData orderby x.Time select Model.ArmyData.IndexOf(x)).Last());
            Model.Favorites.Add("map", (Model.MapData.Count == 0)
                ? -1
                : (from x in Model.MapData orderby x.Time select Model.MapData.IndexOf(x)).Last());
            Model.Favorites.Add("theater", (from x in Model.TheaterData orderby x.Time select Model.TheaterData.IndexOf(x)).Last());
            Model.Favorites.Add("vehicle", (from x in Model.VehicleData orderby x.Time select Model.VehicleData.IndexOf(x)).Last());
            Model.Favorites.Add("kit", (from x in Model.KitData orderby x.Time select Model.KitData.IndexOf(x)).Last());
            Model.Favorites.Add("weapon", (from x in Model.WeaponData orderby x.Time select Model.WeaponData.IndexOf(x)).Last());
            Model.Favorites.Add("equipment",
            (
                from x in Model.WeaponData
                orderby x.Time
                let index = Model.WeaponData.IndexOf(x)
                where index > 8
                select index
            ).Last());
            Model.FavoriteMapId = Model.Favorites["map"] >= 0 ? Model.MapData[Model.Favorites["map"]].Id : -1;

            #endregion

            #region TopEnemy and Victim
            // Get top enemy's
            Rows = Database.Query(
                "SELECT attacker, count, t.name AS name, t.rank AS rank FROM kills JOIN player AS t WHERE t.id = attacker AND victim = @P0 ORDER BY count DESC LIMIT 11",
                Pid
            );
            if (Rows.Count > 0)
            {
                Model.TopEnemies.Add(new Player
                {
                    Pid = Int32.Parse(Rows[0]["attacker"].ToString()),
                    Name = Rows[0]["name"].ToString(),
                    Rank = Int32.Parse(Rows[0]["rank"].ToString()),
                    Count = Int32.Parse(Rows[0]["count"].ToString()),
                });

                if (Rows.Count > 1)
                {
                    for (int i = 1; i < Rows.Count; i++)
                    {
                        Model.TopEnemies.Add(new Player
                        {
                            Pid = Int32.Parse(Rows[i]["attacker"].ToString()),
                            Name = Rows[i]["name"].ToString(),
                            Rank = Int32.Parse(Rows[i]["rank"].ToString()),
                            Count = Int32.Parse(Rows[i]["count"].ToString()),
                        });
                    }
                }
            }

            // Get top victims's
            Rows = Database.Query(
                "SELECT victim, count, t.name AS name, t.rank AS rank FROM kills JOIN player AS t WHERE t.id = victim AND attacker = @P0 ORDER BY count DESC LIMIT 11",
                Pid
            );
            if (Rows.Count > 0)
            {
                Model.TopVictims.Add(new Player
                {
                    Pid = Int32.Parse(Rows[0]["victim"].ToString()),
                    Name = Rows[0]["name"].ToString(),
                    Rank = Int32.Parse(Rows[0]["rank"].ToString()),
                    Count = Int32.Parse(Rows[0]["count"].ToString()),
                });

                if (Rows.Count > 1)
                {
                    for (int i = 1; i < Rows.Count; i++)
                    {
                        Model.TopVictims.Add(new Player
                        {
                            Pid = Int32.Parse(Rows[i]["victim"].ToString()),
                            Name = Rows[i]["name"].ToString(),
                            Rank = Int32.Parse(Rows[i]["rank"].ToString()),
                            Count = Int32.Parse(Rows[i]["count"].ToString()),
                        });
                    }
                }
            }

            #endregion TopEnemy and Victim

            #region Unlocks
            j = 0;
            Rows = Database.Query("SELECT kit, state FROM unlocks WHERE id=@P0 ORDER BY kit ASC", Pid);
            if (Rows.Count > 0)
            {
                foreach (Dictionary<string, object> Row in Rows)
                {
                    Model.PlayerUnlocks[j] = new WeaponUnlock
                    {
                        Id = Int32.Parse(Row["kit"].ToString()),
                        Name = Bf2Constants.Unlocks[Row["kit"].ToString()],
                        State = Row["state"].ToString()
                    };
                    j++;
                }
            }
            else
            {
                // Normal unlocks
                for (int i = 11; i < 100; i += 11)
                {
                    // 88 and above are Special Forces unlocks, and wont display at all if the base unlocks are not earned
                    Model.PlayerUnlocks[j] = new WeaponUnlock
                    {
                        Id = i,
                        Name = Bf2Constants.Unlocks[i.ToString()],
                        State = "n"
                    };
                    j++;
                }

                // Sf Unlocks, Dont display these because thats how Gamespy does it
                for (int i = 111; i < 556; i += 111)
                {
                    Model.PlayerUnlocks[j] = new WeaponUnlock
                    {
                        Id = i,
                        Name = Bf2Constants.Unlocks[i.ToString()],
                        State = "n"
                    };
                    j++;
                }
            }
            #endregion Unlocks

            #region Badges
            // Fetch player badges
            foreach (KeyValuePair<string, string> Awd in StatsConstants.Badges)
            {
                int AwdId = Int32.Parse(Awd.Key);
                List<Award> Badges = new List<Award>(4);
                for (int i = 0; i < 4; i++)
                    Badges.Add(new Award { Id = AwdId });

                Rows = Database.Query("SELECT * FROM awards WHERE id=@P0 AND awd=@P1 ORDER BY level ASC", Pid, AwdId);
                if (Rows.Count > 0)
                {
                    int max = Rows.Count - 1;
                    int Maxlevel = Int32.Parse(Rows[max]["level"].ToString());
                    Badges[0] = new Award
                    {
                        Id = AwdId,
                        Level = Maxlevel,
                        Earned = Int32.Parse(Rows[max]["earned"].ToString())
                    };

                    for (int i = 1; i < 4; i++)
                    {
                        if (Rows.Count >= i)
                        {
                            Badges[i] = new Award
                            {
                                Id = AwdId,
                                Level = Int32.Parse(Rows[i - 1]["level"].ToString()),
                                Earned = Int32.Parse(Rows[i - 1]["earned"].ToString())
                            };
                        }
                    }
                }

                Model.PlayerBadges.Add(Awd.Key, Badges);
            }

            // Fetch player badges
            foreach (KeyValuePair<string, string> Awd in StatsConstants.SfBadges)
            {
                int AwdId = Int32.Parse(Awd.Key);
                List<Award> Badges = new List<Award>(4);
                for (int i = 0; i < 4; i++)
                    Badges.Add(new Award { Id = AwdId });

                Rows = Database.Query("SELECT * FROM awards WHERE id=@P0 AND awd=@P1 ORDER BY level ASC", Pid, AwdId);
                if (Rows.Count > 0)
                {
                    int max = Rows.Count - 1;
                    int Maxlevel = Int32.Parse(Rows[max]["level"].ToString());
                    Badges[0] = new Award
                    {
                        Id = AwdId,
                        Level = Maxlevel,
                        Earned = Int32.Parse(Rows[max]["earned"].ToString())
                    };

                    for (int i = 1; i < 4; i++)
                    {
                        if (Rows.Count >= i)
                        {
                            Badges[i] = new Award
                            {
                                Id = AwdId,
                                Level = Int32.Parse(Rows[i - 1]["level"].ToString()),
                                Earned = Int32.Parse(Rows[i - 1]["earned"].ToString())
                            };
                        }
                    }
                }

                Model.PlayerSFBadges.Add(Awd.Key, Badges);
            }
            #endregion Badges

            #region Medals

            // Fetch player medals
            foreach (KeyValuePair<string, string> Awd in StatsConstants.Medals)
            {
                int AwdId = Int32.Parse(Awd.Key);
                Rows = Database.Query("SELECT * FROM awards WHERE id=@P0 AND awd=@P1 LIMIT 1", Pid, AwdId);
                if (Rows.Count > 0)
                {
                    Model.PlayerMedals.Add(Awd.Key, new Award
                    {
                        Id = AwdId,
                        Level = Int32.Parse(Rows[0]["level"].ToString()),
                        Earned = Int32.Parse(Rows[0]["earned"].ToString()),
                        First = Int32.Parse(Rows[0]["first"].ToString()),
                    });
                }
                else
                    Model.PlayerMedals.Add(Awd.Key, new Award { Id = AwdId });

            }

            foreach (KeyValuePair<string, string> Awd in StatsConstants.SfMedals)
            {
                int AwdId = Int32.Parse(Awd.Key);
                Rows = Database.Query("SELECT * FROM awards WHERE id=@P0 AND awd=@P1 LIMIT 1", Pid, AwdId);
                if (Rows.Count > 0)
                {
                    Model.PlayerSFMedals.Add(Awd.Key, new Award
                    {
                        Id = AwdId,
                        Level = Int32.Parse(Rows[0]["level"].ToString()),
                        Earned = Int32.Parse(Rows[0]["earned"].ToString()),
                        First = Int32.Parse(Rows[0]["first"].ToString()),
                    });
                }
                else
                    Model.PlayerSFMedals.Add(Awd.Key, new Award { Id = AwdId });

            }

            #endregion Medals

            #region Ribbons

            // Fetch player ribbons
            foreach (KeyValuePair<string, string> Awd in StatsConstants.Ribbons)
            {
                int AwdId = Int32.Parse(Awd.Key);
                Rows = Database.Query("SELECT * FROM awards WHERE id=@P0 AND awd=@P1 LIMIT 1", Pid, AwdId);
                if (Rows.Count > 0)
                {
                    Model.PlayerRibbons.Add(Awd.Key, new Award
                    {
                        Id = AwdId,
                        Level = Int32.Parse(Rows[0]["level"].ToString()),
                        Earned = Int32.Parse(Rows[0]["earned"].ToString()),
                        First = Int32.Parse(Rows[0]["first"].ToString()),
                    });
                }
                else
                    Model.PlayerRibbons.Add(Awd.Key, new Award { Id = AwdId });

            }

            // Fetch SF Ribbons
            foreach (KeyValuePair<string, string> Awd in StatsConstants.SfRibbons)
            {
                int AwdId = Int32.Parse(Awd.Key);
                Rows = Database.Query("SELECT * FROM awards WHERE id=@P0 AND awd=@P1 LIMIT 1", Pid, AwdId);
                if (Rows.Count > 0)
                {
                    Model.PlayerSFRibbons.Add(Awd.Key, new Award
                    {
                        Id = AwdId,
                        Level = Int32.Parse(Rows[0]["level"].ToString()),
                        Earned = Int32.Parse(Rows[0]["earned"].ToString()),
                        First = Int32.Parse(Rows[0]["first"].ToString()),
                    });
                }
                else
                    Model.PlayerSFRibbons.Add(Awd.Key, new Award { Id = AwdId });

            }

            #endregion Ribbons

            #region Time To Advancement

            // Fetch all of our awards, so we can determine our qualified rank ups
            Rows = Database.Query("SELECT awd, level FROM awards WHERE id=@P0 ORDER BY level", Pid);
            Dictionary<string, int> Awds = new Dictionary<string, int>();
            foreach (Dictionary<string, object> Row in Rows)
            {
                if (!Awds.ContainsKey(Row["awd"].ToString()))
                    Awds.Add(Row["awd"].ToString(), Int32.Parse(Row["level"].ToString()));
            }

            // Debugging ranks? (personal uses)
            int RanksToShow = 3;
            if (Client.Request.QueryString.ContainsKey("nextranks"))
                Int32.TryParse(Client.Request.QueryString["nextranks"], out RanksToShow);

            // 3 min.
            if (RanksToShow < 3) RanksToShow = 3;

            // Get our next ranks
            int Score = Int32.Parse(Model.Player["score"].ToString());
            Model.NextPlayerRanks = RankCalculator.GetNextRanks(
                Score,
                Int32.Parse(Model.Player["rank"].ToString()),
                Awds,
                RanksToShow
            );

            foreach (Rank Rnk in Model.NextPlayerRanks)
            {
                // Get Needed Points for this next rank
                int NP = Rnk.MinPoints - Score;
                Rnk.PointsNeeded = (NP > 0) ? NP : 0;

                // Get our percentage to this next rank based on needed points
                double Perc = Math.Round(((double)Score / Rnk.MinPoints) * 100, 0);
                Rnk.PercentComplete = (Perc > 100) ? 100 : Perc;

                // Get the time to completion, based on our score per minute
                double t = NP / (Model.ScorePerMin / 60);
                if (t < 0) t = 0;
                Rnk.TimeToComplete = (int)t;

                // Get our days to completion time, based on our Join date, Last battle, and average Points per day
                TimeSpan Span = TimeSpan.FromSeconds(
                    Int32.Parse(Model.Player["lastonline"].ToString()) - Int32.Parse(Model.Player["joined"].ToString())
                );
                double SPD = Math.Round(Score / Span.TotalDays, 0);
                Rnk.DaysToComplete = (int)Math.Round(NP / SPD, 0);
            }

            #endregion Time To Advancement

            // Get player image
            string PlayerImage = Path.Combine(
                Program.RootPath, "Web", "Bf2Stats", "Resources", "images", "soldiers",
                Model.Favorites["army"] + "_" + Model.Favorites["kit"] + "_" + Model.Favorites["weapon"] + ".jpg"
            );

            // Convert fav into a URL
            Model.PlayerImage = (File.Exists(PlayerImage))
                ? Model.Root + "/images/soldiers/" + Model.Favorites["army"] + "_" + Model.Favorites["kit"] + "_" + Model.Favorites["weapon"] + ".jpg"
                : Model.Root + "/images/soldiers/" + Model.Favorites["army"] + "_" + Model.Favorites["kit"] + "_5.jpg";

            // Send the response
            base.SendTemplateResponse("player", typeof(PlayerModel), Model, Pid.ToString());
        }
        public void RelationsOneToOne()
        {
            Employee emp = new Employee();
            emp.FirstName = "john";
            emp.LastName = "doe";
            emp.Save();

            Assert.AreEqual(1, Employee.FindAll().Length);

            Award award = new Award(emp);
            award.Description = "Invisible employee";
            award.Save();

            Assert.AreEqual(1, Award.FindAll().Length);

            Employee emp2 = Employee.Find(emp.ID);
            Assert.IsNotNull(emp2);
            Assert.IsNotNull(emp2.Award);
            Assert.AreEqual(emp.FirstName, emp2.FirstName);
            Assert.AreEqual(emp.LastName, emp2.LastName);
            Assert.AreEqual(award.Description, emp2.Award.Description);
        }
예제 #43
0
 public void AddToAwards(Award award)
 {
     base.AddObject("Awards", award);
 }
	public ChapterStruct (int id)
	{
		this.id = id;
		this.currentLevel = ChapterLevel.Normal;
		passedDic = new Dictionary<int, bool> ();
		passedDic [(int)ChapterLevel.Normal - 1] = true;								//默认普通难度章节的上一级副本是应该通关的
		passedDic [(int)ChapterLevel.Normal] = false;
		passedDic [(int)ChapterLevel.NightMare] = false;
		baseData = new ChapterItem (id);
		possessDungeonDic = new Dictionary<int, Dictionary<int, DungeonStruct>> ();
		LoadFromLocalData ();
		award = new Award ();
		award.totalChapterStars = baseData.starCount;
	}
예제 #45
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();

			Blessed = true;

			switch (version)
			{
				case 0:
					{
						int listlength = reader.ReadInt();
						for (int i = 0; i < listlength; i++)
						{
							Mobile mobile = reader.ReadMobile() as PlayerMobile;
							int bankroll = reader.ReadInt();
							int ticket = reader.ReadInt();
							bool lowroller = reader.ReadBool();
							bool highroller = reader.ReadBool();
							mobile.CantWalk = false;
							CrashList.Add(new CrashEntry(mobile, bankroll, ticket, lowroller, highroller));
						}
						m_AllowSameIP = reader.ReadBool();
						m_BlindSmall = reader.ReadInt();
						m_MaxBuyIn = reader.ReadInt();
						m_MinBuyIn = reader.ReadInt();
						m_DealerAccept = (DealerAccept)reader.ReadInt();
						m_DealerSetup = (DealerSetup)reader.ReadInt();
						m_Open = reader.ReadBool();
						m_DrainFromBuyIn = reader.ReadInt();
						m_DrainFromPot = reader.ReadInt();
						m_DrainToJackpot = reader.ReadInt();
						m_IsHighRoller = reader.ReadBool();
						m_MaxPlayers = reader.ReadInt();
						m_ExitPoint = reader.ReadPoint3D();
						m_WinnerPoint = reader.ReadPoint3D();
						m_Stone = reader.ReadItem() as PokerJackpot;
						m_Active = reader.ReadBool();
						m_Award = (Award)reader.ReadInt();
						m_msg = reader.ReadBool();
						m_TournyReward = reader.ReadItem();
						m_maxforward = reader.ReadInt();
						m_PTNextDealer = reader.ReadMobile() as PokerDealer;
						m_RaiseSmall = reader.ReadInt();
						m_PokerReward = (PokerReward)reader.ReadInt();
						for (int i = 0; i < 10; ++i)
							m_Seat[i] = reader.ReadPoint3D();
						m_AutoFoldTimer = reader.ReadInt();
						m_GetGoldTimer = reader.ReadInt();
						m_URL = reader.ReadString();
						int playerlength = reader.ReadInt();
						for (int i = 0; i < playerlength; i++)
						{
							Mobile mobile = reader.ReadMobile();
							int bankroll = reader.ReadInt();
							mobile.LogoutLocation = m_ExitPoint;
							mobile.CantWalk = false;
							int ticket = bankroll;
							bool lowroller = false;
							bool highroller = false;
							switch (m_DealerAccept)
							{
								case DealerAccept.GoldOnly:
									if (m_Active)
										bankroll = 0;
									else
										ticket = 0;
									break;
								case DealerAccept.LowRollerTicketsOnly:
									if (m_Active)
										bankroll = 0;
									else
									{
										bankroll = 0;
										ticket = 0;
										lowroller = true;
									}
									break;
								case DealerAccept.HighRollerTicketsOnly:
									if (m_Active)
										bankroll = 0;
									else
									{
										bankroll = 0;
										ticket = 0;
										highroller = true;
									}
									break;
							}
							AddCrashEntry(mobile, bankroll, ticket, lowroller, highroller);
						}
						m_memblind = reader.ReadInt();
						m_TotalGoldToJackpot = reader.ReadInt();
						m_TotalGoldDrained = reader.ReadInt();
						m_RoundsFinished = reader.ReadInt();
						m_PlayerAmount = reader.ReadInt();
						break;
					}
			}
			m_Registry.Add(this);

			if (DealerMode == DealerSetup.SingleLoop)
			{
				m_Active = false;
				if (m_memblind > 0)
					BlindSmall = m_memblind;
			}

			//Timer.DelayCall( TimeSpan.FromSeconds( 5.0 ), new TimerCallback( FixCrashed ) );
		}
 public Award Post(Award value)
 {
     value.EventTime = DateTime.Now;
     repository.Add(value);
     return value;
 }
예제 #47
0
파일: DAL.cs 프로젝트: ayant/Fantiki
 public void DeleteAward(Award AwardToDelete)
 {
     this.Awards.Remove(AwardToDelete);
 }
예제 #48
0
 public void addAwardTakeCredit(Award gameAward)
 {
     awardCreditScore += gameAward.gameScore;
     GameLevelCommon.instance.uiManager.setAwardCredit(awardCreditScore);
 }
예제 #49
0
 Award IStudentTagRepository.Add(Award award)
 {
     DataGateway<DataContext>.Instance.Add(award);
     DataGateway<DataContext>.Instance.Save();
     return award;
 }
예제 #50
0
 public int GetRank(Award a)
 {
     a.Calculate();
     return a.total != 0 ? (a.total == a.count ? 4 : 0) : Mathf.Min(a.level, ranks.Length - 2);
 }
예제 #51
0
    public void DrawReward(Award a)
    {
        gui.BeginHorizontal();
        var text = a.count + "/" + (int)(a.total > 0 ? a.total : a.upper + 1);
        if (_Game == null)
            gui.Label(new GUIContent(a.texture, Tp(a.title)),gui.ExpandWidth(false));
        if (!string.IsNullOrEmpty(GUI.tooltip))
        {
            var lastRect = GUILayoutUtility.GetLastRect();
            lastRect.y -= 15;
            GUI.Label(lastRect, GUI.tooltip);
            GUI.tooltip = "";
        }
        gui.BeginVertical();
        gui.Label(text + " " + Tr(a.title));
        var lbar = loadingBar.label;
        lbar.alignment = TextAnchor.MiddleCenter;
        
        var rank = GetRank(a);
        var x = 505;
        loadingBar.horizontalSliderThumb.fixedWidth = Mathf.Clamp(a.progress * (x - 10), 35, x - 10);
        GUILayout.HorizontalSlider(0, 0, 1, loadingBar.horizontalSlider, loadingBar.horizontalSliderThumb);
        gui.EndVertical();
        gui.Label(new GUIContent(ranks[rank]), rankLabel, gui.ExpandWidth(false));
        ranksTotal[rank]++;
        gui.EndHorizontal();
        //GUILayout.Label(GuiClasses.Tr("Loading ") + (int)(progress * 100) + "%", loadingBar.label);

        gui.Space(10);
    }
예제 #52
0
파일: Reference.cs 프로젝트: ayant/Fantiki
 public static Award CreateAward(global::System.Guid ID, float bonusesRequired)
 {
     Award award = new Award();
     award.ID = ID;
     award.BonusesRequired = bonusesRequired;
     return award;
 }