Example #1
0
        public IHttpActionResult PutMK_SCORE(int id, MK_SCORE mK_SCORE)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

            db.Entry(mK_SCORE).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MK_SCOREExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            MK_SCORE mK_SCORE = db.MK_SCORE.Find(id);

            db.MK_SCORE.Remove(mK_SCORE);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #3
0
        public IHttpActionResult GetMK_SCORE(int id)
        {
            MK_SCORE mK_SCORE = db.MK_SCORE.Find(id);

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

            return(Ok(mK_SCORE));
        }
Example #4
0
        public IHttpActionResult PostMK_SCORE(MK_SCORE mK_SCORE)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.MK_SCORE.Add(mK_SCORE);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = mK_SCORE.Id }, mK_SCORE));
        }
Example #5
0
 public ActionResult Edit([Bind(Include = "Id,mk,score,volume,fromDate,toDate,agendaId")] MK_SCORE mK_SCORE)
 {
     if (ModelState.IsValid)
     {
         db.Entry(mK_SCORE).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.mk       = new SelectList(db.MK, "Id", "mk_name", mK_SCORE.mk);
     ViewBag.agendaId = new SelectList(db.AGENDA, "Id", "name", mK_SCORE.agendaId);
     return(View(mK_SCORE));
 }
Example #6
0
        public IHttpActionResult DeleteMK_SCORE(int id)
        {
            MK_SCORE mK_SCORE = db.MK_SCORE.Find(id);

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

            db.MK_SCORE.Remove(mK_SCORE);
            db.SaveChanges();

            return(Ok(mK_SCORE));
        }
Example #7
0
        // GET: MK_SCORE/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MK_SCORE mK_SCORE = db.MK_SCORE.Find(id);

            if (mK_SCORE == null)
            {
                return(HttpNotFound());
            }
            return(View(mK_SCORE));
        }
Example #8
0
        // GET: MK_SCORE/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MK_SCORE mK_SCORE = db.MK_SCORE.Find(id);

            if (mK_SCORE == null)
            {
                return(HttpNotFound());
            }
            ViewBag.mk       = new SelectList(db.MK, "Id", "mk_name", mK_SCORE.mk);
            ViewBag.agendaId = new SelectList(db.AGENDA, "Id", "name", mK_SCORE.agendaId);
            return(View(mK_SCORE));
        }
Example #9
0
        /// <summary>
        ///  recalculate the general score of every agenda
        /// </summary>
        private void recalculate(int agendaId, DateTime from, DateTime to)
        {
            // foreach VOTE between from - to
            //   (filter/update/delete and add) by agenda in VOTE_TO_AGENDA
            //      add score,volume/(num of all vote)*100, base on vote in VOTE to the relevant mk in MK_SCORE

            using (AgendaEntities db = new AgendaEntities())
            {
                // foreach VOTE between from - to
                //   (filter/update/delete and add) by agenda in VOTE_TO_AGENDA
                var mksc = db.MK_SCORE.Where(mks => (mks.fromDate == from && mks.toDate == to && mks.agendaId == agendaId));
                foreach (MK_SCORE m in mksc.ToList())
                {
                    db.MK_SCORE.Remove(m);
                    db.SaveChanges();
                }
                //      add score,volume/(num of all vote)*100, base on vote in VOTE to the relevant mk in MK_SCORE
                var vote = db.VOTE.Where(v => (v.meeting >= from && v.meeting <= to));
                foreach (VOTE v in vote.ToList())
                {
                    VOTE_TO_AGENDA  v2a        = v.VOTE_TO_AGENDA.Where(v_to_a => (v_to_a.agenda == agendaId && v_to_a.vote == v.Id)).FirstOrDefault();
                    List <MK_SCORE> ms_new_lst = db.MK_SCORE.Where(mks => (mks.fromDate == from && mks.toDate == to && mks.mk == v.mk && mks.agendaId == agendaId)).ToList();
                    if (v2a != null)
                    {
                        if (ms_new_lst != null && ms_new_lst.Count() > 0)
                        {
                            foreach (MK_SCORE m in ms_new_lst.ToList())
                            {
                                if (v.vote1 == 1)
                                {
                                    m.score += v2a.score;
                                }
                                else if (v.vote1 == 2)
                                {
                                    m.score -= v2a.score;
                                }
                                else
                                {
                                    // m.score -= v2a.score;
                                }
                                m.volume += v2a.volume;
                                db.SaveChanges();
                            }
                        }
                        else
                        {
                            MK_SCORE ms_new = new MK_SCORE();
                            ms_new.mk    = v.mk.Value;
                            ms_new.score = v2a.score;
                            if (v.vote1 == 1)
                            {
                                ms_new.score = v2a.score;
                            }
                            else if (v.vote1 == 2)
                            {
                                ms_new.score = -1 * v2a.score;
                            }
                            else
                            {
                                // m.score -= v2a.score;
                                ms_new.score = 0;
                            }
                            ms_new.volume   = v2a.volume;
                            ms_new.fromDate = from;
                            ms_new.toDate   = to;
                            ms_new.agendaId = agendaId;
                            db.MK_SCORE.Add(ms_new);
                            db.SaveChanges();
                        }
                    }
                }
                // normilazed by number of votes
                var ms_new_lstn = db.MK_SCORE.Where(mks => (mks.fromDate == from &&
                                                            mks.toDate == to &&
                                                            mks.agendaId == agendaId));

                int votes2Agenda = db.VOTE_TO_AGENDA.Where(v2a => (v2a.agenda == agendaId)).Count() / 12; // div by number of mk

                if (ms_new_lstn != null)
                {
                    foreach (MK_SCORE m in ms_new_lstn.ToList())
                    {
                        m.score  = (Decimal)System.Data.SqlTypes.SqlDecimal.ConvertToPrecScale(m.score / votes2Agenda, 18, 3);
                        m.volume = (Decimal)System.Data.SqlTypes.SqlDecimal.ConvertToPrecScale(m.volume / votes2Agenda, 18, 3);
                        db.SaveChanges();
                    }
                }
            }
        }