// GET: Resistor public async Task <ActionResult> Index(ResistorViewModel viewModel) { ResistorOhmRequest request; ResistorOhmResponse respone; if (viewModel.btnResistorOhm != null) { request = new ResistorOhmRequest() { bandAColor = viewModel.bandAColor, bandBColor = viewModel.bandBColor, bandCColor = viewModel.bandCColor }; var model = new ResistorModel(_DataAccess); respone = await model.GetOhmValue(request); if (respone.Success) { viewModel.Ohm = respone.Ohm.ToString(); } else { ViewBag.Error = respone.Error; } } return(View(viewModel)); }
// GET: Home public ActionResult Index() { var viewModel = new ResistorViewModel() { ColorsA = GenerateSelectList(Band.A), ColorsB = GenerateSelectList(Band.B), ColorsC = GenerateSelectList(Band.C), ColorsD = GenerateSelectList(Band.D) }; return(View(viewModel)); }
public JsonResult Calculate(ResistorViewModel resistorModel) { resistorModel.ComputedResult = ""; if (!ModelState.IsValid) { return(Json(new { Success = false, Result = "", Errors = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList() }, JsonRequestBehavior.AllowGet)); } else { try { float tolerance = 0f; double ohmValue = _resCalSvc.CalculateResistorValue(resistorModel.SelectedColorA, resistorModel.SelectedColorB, resistorModel.SelectedColorC, resistorModel.SelectedColorD); if (!string.IsNullOrEmpty(resistorModel.SelectedColorD)) { tolerance = _resCalSvc.GetTolerance(resistorModel.SelectedColorD); } string result = $"Resistor value: { ohmValue.ToSI() } Ω +/- { tolerance } %"; return(Json(new { Success = true, Result = result, Errors = "" }, JsonRequestBehavior.AllowGet)); } catch (ArgumentException ex) { resistorModel.ComputedResult = ""; return(Json(new { Success = false, Result = "", Errors = new List <string>(1) { ex.Message } }, JsonRequestBehavior.AllowGet)); } catch (Exception) { resistorModel.ComputedResult = ""; //logger.log exception return(Json(new { Success = false, Result = "", Errors = new List <string>(1) { "Unknown error occured." } }, JsonRequestBehavior.AllowGet)); } } }