public ActionResult Negotiation(String negotiationId) { if (negotiationId == null) { return(RedirectToAction("Index")); } NegotiationEngine engine; if (negotiationId == null || !NegotiationManager.OnGoingNegotiations.TryGetValue(negotiationId, out engine)) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest)); } if (!engine.NegotiationActive) { return(View("NegotiationEndView", engine.GetEndModel())); } NegotiationViewModel model = new NegotiationViewModel { Id = negotiationId, AiSide = engine.AiConfig.Side, HumanConfig = engine.HumanConfig, RemainingTime = engine.Status.RemainingTime, Domain = engine.Domain, Actions = engine.Actions, OpponentOffer = engine.Status.AiStatus.Offer, Offer = engine.Status.HumanStatus.Offer, LastAcceptedOffer = engine.Status.LastAcceptedOffer }; return(View(model)); }
public ActionResult SubmitTutorialAnswers(NegotiationTutorialModel model) { if (model == null || model.TutorialId == null) { return(RedirectToAction("Negotiation")); } if (!model.Questions.Select(x => x.Answer).SequenceEqual(NegotiationManager.TutorialModels[model.TutorialId].Questions.Select(x => x.ActualAnswer))) { ModelState.AddModelError("Wrong answer", "One or more answers was wrong."); return(View("NegotiationTutorial", NegotiationManager.TutorialModels[model.TutorialId])); } NegotiationTutorialModel temp; NegotiationManager.TutorialModels.TryRemove(model.TutorialId, out temp); NegotiationEngine engine = NegotiationManager.OnGoingNegotiations[model.TutorialId]; NegotiationViewModel newModel = new NegotiationViewModel { Id = model.TutorialId, AiSide = engine.AiConfig.Side, HumanConfig = engine.HumanConfig, RemainingTime = TimeSpan.FromSeconds(engine.Domain.NumberOfRounds * engine.Domain.RoundLength.TotalSeconds), Domain = engine.Domain, Actions = new List <NegotiationActionModel>() }; engine.BeginNegotiation(); return(RedirectToAction("Negotiation", new { negotiationId = model.TutorialId })); }
/// <summary> /// Initializes a new instance of the <see cref="MessageHeader"/> class. /// </summary> public AddMessageView(NegotiationViewModel viewModel) { InitializeComponent(); this.DataContext = viewModel; eNegMessanger.FlippMessage.Register(this, OnFlippingByPageName); eNegMessanger.NewPopUp.Register(this, OnAddNewPopUp); eNegMessanger.FlippMessage.Register(this, OnFlipping); eNegMessanger.SendCustomMessage.Register(this, OnUpdateMessage); }
public static NegotiationViewModel ConvertToVm(TblNegotiation model) { NegotiationViewModel vm = new NegotiationViewModel() { id = model.id, productId = model.productId, quantity = model.quantity, negotiatedPricePerItem = model.negotiatedPricePerItem, date = model.negotiationDateTime.Date.ToShortDateString(), time = model.negotiationDateTime.ToString("hh:mm tt"), totalAmount = model.totalAmount, status = model.status, negotiationDateTime = model.negotiationDateTime, orderId = model.orderId }; return(vm); }
public static void UpdateNegotiation(this NegotiationViewModel viewmodel, ClientFieldData[] formData) { ClientFieldData field; field = formData.FirstOrDefault(x => x.Name == "IsCertifyProtest"); viewmodel.IsCertifyProtest = field.ConvertToBool(); field = formData.FirstOrDefault(x => x.Name == "ContractIsCertify"); viewmodel.IsCertifyContract = field.ConvertToBool(); field = formData.FirstOrDefault(x => x.Name == "HasProtest"); viewmodel.HasProtest = field.ConvertToBool(); field = formData.FirstOrDefault(x => x.Name == "hiddenJustification"); if (field != null) { viewmodel.WinnerChanges = new WinnerChangeViewModel(); viewmodel.WinnerChanges.Justification = field.ConvertToString(); } viewmodel.FinalFirmScorings.UpdateDatatableFirmScoring(formData, TableValue.NEG_FINAL_FIRM_SCORING_TABLE_NAME); viewmodel.Comunications .BindDataFormDocsSimpleToModel(formData, TableValue.NEG_COMMUNICATIONS_TABLE_NAME); viewmodel.Negotiations.BindDocsFirm(formData, TableValue.NEG_NEGOTIATION_MINUTES_TABLE_NAME); viewmodel.CommitFunds.UpdateNegTCCommitFunds(formData, TableValue.NEG_COMMIT_FUNDS_TABLE_NAME); viewmodel.CommitFundsSecond.UpdateNegCommitFunds(formData, TableValue.NEG_COMMIT_FUNDS_SECOND_TABLE_NAME); viewmodel.ContractDates.UpdateContractDates( formData, TableValue.NEG_CONTRACT_DATES_TABLE_NAME, TableValue.NEG_FINAL_FIRM_SCORING_TABLE_NAME, viewmodel.Modality); viewmodel.ContractDocs.BindReoi(formData, TableValue.NEG_CONTRACT_DOCUMENTS_TABLE_NAME); viewmodel.ProtestDocs.Rows.BindProtestModel(formData, TableValue.NEG_PROTESTS_TABLE_NAME); viewmodel.Checklist.UpdateCheckList(formData, TableValue.NEG_CHECKLIST_TABLE_NAME); }