public ActionResult Create(RegisterCard registerCard)
        {
            Competition competition;

            if (ModelState.IsValid)
            {
                // Shoots will be null from mobile form
                if (registerCard.Shoots == null)
                {
                    competition = _db.Competitions.Find(registerCard.IndividualCompetitionId);
                    registerCard.InitialiseShoots(
                        competition.Distances.ToList(),
                        competition.NumberOfSightingShots,
                        competition.NumberOfScoringShots
                        );
                }

                _db.RegisterCards.Add(registerCard);
                _db.SaveChanges();
                RegisterKeeperHub.BroadcastNewRegisterCardToClients(registerCard.Id);

                return(Request.Browser.IsMobileDevice || HttpContext.GetOverriddenBrowser().IsMobileDevice ?
                       RedirectToAction("Details", "RegisterCards", new { id = registerCard.Id }) :
                       RedirectToAction("Details", "IndividualCompetitions", new { id = registerCard.IndividualCompetitionId }));
            }

            competition = _db.Competitions.Find(registerCard.IndividualCompetitionId);
            AddCompetitionDetailsToViewBag(competition, ViewBag);

            return(View(registerCard));
        }
        public ActionResult Edit(RegisterCard registerCard)
        {
            if (ModelState.IsValid)
            {
                // Add any new child entities (it seems adding more than one new child object at a time causes a duplicate key exception..)
                foreach (var shoot in registerCard.Shoots)
                {
                    foreach (var sightingShot in shoot.Sighters)
                    {
                        _db.Entry(sightingShot).State = sightingShot.Id == default(int) ? EntityState.Added : EntityState.Modified;
                        _db.SaveChanges();
                    }
                    foreach (var scoringShot in shoot.ScoringShots)
                    {
                        _db.Entry(scoringShot).State = scoringShot.Id == default(int) ? EntityState.Added : EntityState.Modified;
                        _db.SaveChanges();
                    }
                }

                // Update entity
                _db.Entry(registerCard).State = EntityState.Modified;

                foreach (var shoot in registerCard.Shoots)
                {
                    _db.Entry(shoot).State = shoot.Id == default(int) ? EntityState.Added : EntityState.Modified;
                }

                _db.SaveChanges();
                return(RedirectToAction("Details", "IndividualCompetitions", new { id = registerCard.IndividualCompetitionId }));
            }
            return(View(registerCard));
        }
Ejemplo n.º 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            RegisterCard competitor = db.RegisterCards.Find(id);

            db.RegisterCards.Remove(competitor);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
        public ActionResult AddEmployeeCard(EmployeeCardModel cardModel)
        {
            if (ModelState.IsValid == false)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(new { error = "Заполните все обязательные поля!" }));
            }

            if (cardModel.DateHired != null && isValidDateHired(cardModel) == false)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(new { error = "Текущая дата \"Нанят\" не може быть ранее или равна предыдущим датам \"Нанят\"!" }));
            }

            if (cardModel.Salary < 0)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(new { error = "Оклад должен быть больше нуля!" }));
            }

            var regCard = new RegisterCard();

            using (var db = AppDbContext.GetInstance())
            {
                var regCardObject = new RegisterCard()
                {
                    EmployeeId = GetEmployeeId(db, cardModel),
                    PositionId = cardModel.PositionId,
                    Salary     = cardModel.Salary,
                    DateHired  = cardModel.DateHired,
                    DateFired  = cardModel.DateFired
                };

                try
                {
                    var regCardDb = new RegisterCardService(db);
                    regCard = regCardDb.Create(regCardObject);

                    var posinionDb = new PositionService(db);
                    regCard.Position = posinionDb.GetItemById((int)regCard.PositionId);
                }
                catch (Exception ex)
                {
                    Response.StatusCode = (int)HttpStatusCode.InternalServerError;

                    if (HttpContext.IsDebuggingEnabled)
                    {
                        return(Json(new { error = $"Возникла внутрення ошибка сервера!\r\n{ex.Message}" }));
                    }
                    else
                    {
                        return(Json(new { error = "Возникла внутрення ошибка сервера!" }));
                    }
                }
            }

            return(Json(new { RegisterId = regCard.RegisterId }));
        }
Ejemplo n.º 5
0
        protected override void Seed(AppDbContext db)
        {
            //base.Seed(context);

            Employee[] employees =
            {
                new Employee()
                {
                    FirstName = "Sam", LastName = "Rockwell"
                },
                new Employee()
                {
                    FirstName = "Rooney", LastName = "Mara"
                }
            };

            for (int i = 0; i < employees.Length; i++)
            {
                db.Employees.Add(employees[i]);
            }

            Position[] positions =
            {
                new Position()
                {
                    Title = "Business Analyst"
                },
                new Position()
                {
                    Title = "Q&A Engineer"
                }
            };

            for (int i = 0; i < positions.Length; i++)
            {
                db.Positions.Add(positions[i]);
            }

            db.SaveChanges();

            for (int i = 1; i < employees.Length + 1; i++)
            {
                Employee employeeItem = db.Employees.Where(w => w.EmployeeId == i).FirstOrDefault();
                Position positionItem = db.Positions.Where(w => w.PositionId == i).FirstOrDefault();
                var      registerCard = new RegisterCard()
                {
                    EmployeeId = employeeItem.EmployeeId,
                    PositionId = positionItem.PositionId,
                    DateHired  = DateTime.Now.AddDays(-10),
                    Salary     = 1500.00m
                };

                db.RegisterCards.Add(registerCard);
            }

            db.SaveChanges();
        }
        public ActionResult Delete(int id = 0)
        {
            RegisterCard registerCard = _db.RegisterCards.Find(id);

            if (registerCard == null)
            {
                return(HttpNotFound());
            }
            return(View(registerCard));
        }
Ejemplo n.º 7
0
        //
        // GET: /Competitor/Delete/5

        public ActionResult Delete(int id = 0)
        {
            RegisterCard competitor = db.RegisterCards.Find(id);

            if (competitor == null)
            {
                return(HttpNotFound());
            }
            return(View(competitor));
        }
Ejemplo n.º 8
0
 public ActionResult Edit(RegisterCard competitor)
 {
     if (ModelState.IsValid)
     {
         db.Entry(competitor).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(competitor));
 }
Ejemplo n.º 9
0
        public ActionResult Create(RegisterCard competitor)
        {
            if (ModelState.IsValid)
            {
                db.RegisterCards.Add(competitor);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(competitor));
        }
        public ActionResult Create(int individualCompetitionId)
        {
            var competition  = _db.Competitions.Find(individualCompetitionId);
            var registerCard = new RegisterCard
            {
                IndividualCompetitionId = individualCompetitionId
            };

            registerCard.InitialiseShoots(
                competition.Distances.ToList(),
                competition.NumberOfSightingShots,
                competition.NumberOfScoringShots
                );

            AddCompetitionDetailsToViewBag(competition, ViewBag);
            return(View(registerCard));
        }
Ejemplo n.º 11
0
        public int AddRegisterCard(
            int competitionId,
            string competitorName,
            int competitorIndexNumber,
            int broughtForwardPoints,
            int broughtForwardVs)
        {
            using (var db = new QueensFinalDb())
            {
                var registerCard = new RegisterCard
                {
                    CompetitorName        = competitorName,
                    CompetitorIndexNumber = competitorIndexNumber,
                    BroughtForwardPoints  = broughtForwardPoints,
                    BroughtForwardVs      = broughtForwardVs
                };

                var competition = db.Competitions.Include(c => c.RegisterCards).Single(c => c.Id == competitionId);
                competition.RegisterCards.Add(registerCard);
                db.SaveChanges();

                return(registerCard.Id);
            }
        }