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 }); }
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) }); }