Exemple #1
0
        public object DeleteTeller(int tellerId)
        {
            var thisTeller = new TellerCacher(Db).GetById(tellerId);

            if (thisTeller == null)
            {
                return(new { Deleted = false, Error = "Not found" });
            }

            try
            {
                Db.Teller.Attach(thisTeller);
                Db.Teller.Remove(thisTeller);
                Db.SaveChanges();

                new TellerCacher(Db).RemoveItemAndSaveCache(thisTeller);
            }
            catch (Exception ex)
            {
                return(new { Deleted = false, Error = ex.Message });
            }

            return(new { Deleted = true });
        }
Exemple #2
0
        public object ChooseTeller(int num, int tellerId, string newName)
        {
            var helper = new TellerHelper();

            var tellerCacher   = new TellerCacher(Db);
            var computerCacher = new ComputerCacher();

            var currentComputer = UserSession.CurrentComputer;

            if (tellerId == 0)
            {
                UserSession.SetCurrentTeller(num, null);

                switch (num)
                {
                case 1:
                    currentComputer.Teller1 = null;
                    break;

                case 2:
                    currentComputer.Teller2 = null;
                    break;
                }

                computerCacher.UpdateComputer(currentComputer);

                return(new { Saved = true });
            }

            Teller teller;

            if (tellerId == -1)
            {
                // add new
                // check for existing
                teller =
                    tellerCacher.AllForThisElection.FirstOrDefault(t => t.Name.Equals(newName, StringComparison.OrdinalIgnoreCase));
                if (teller == null)
                {
                    // add the new one
                    teller = new Teller
                    {
                        ElectionGuid      = UserSession.CurrentElectionGuid,
                        Name              = newName,
                        UsingComputerCode = UserSession.CurrentComputerCode,
                    };
                    Db.Teller.Add(teller);
                    Db.SaveChanges();
                    tellerCacher.UpdateItemAndSaveCache(teller);
                }
            }
            else
            {
                // using existing
                teller = tellerCacher.GetById(tellerId);
                if (teller == null)
                {
                    return(new { Saved = false });
                }
            }

            switch (num)
            {
            case 1:
                currentComputer.Teller1 = teller.Name;
                break;

            case 2:
                currentComputer.Teller2 = teller.Name;
                break;
            }
            Db.SaveChanges();
            computerCacher.UpdateComputer(currentComputer);

            UserSession.SetCurrentTeller(num, teller.Name);

            return(new
            {
                Saved = true,
                Selected = teller.C_RowId,
                TellerList = helper.GetTellerOptions(num)
            });
        }