public void validateNoPreviousPayment(Domain.WorkOrder wo, PaypalPayment pp) { if (wo.ppPayerID != null && wo.ppPayerID != pp.payerID) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("PaypalID already set to {0}, conflicts with {1}", pp.payerID, wo.ppPayerID)), ReasonPhrase = "PaypalID already set to a different ID" }; throw new Exception(res.ToString()); } if (wo.ppPaymentID != null && wo.ppPaymentID != pp.paymentID) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("PaymentID already set to {0}, conflicts with {1}", pp.paymentID, wo.ppPaymentID)), ReasonPhrase = "PaymentID already set to a different ID" }; throw new Exception(res.ToString()); } if (wo.ppPaymentToken != null && wo.ppPaymentToken != pp.paymentToken) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("PaymentToken already set to {0}, conflicts with {1}", pp.paymentToken, wo.ppPaymentToken)), ReasonPhrase = "PaymentToken already set to a different ID" }; throw new Exception(res.ToString()); } }
public async Task create_valid_post_returns_json() { //Arrange var vmwo = new ViewModel.WorkAssignment(); Domain.WorkAssignment asmt = new Domain.WorkAssignment(); asmt.ID = 4242; asmt.pseudoID = 01; Domain.WorkOrder _wo = new Domain.WorkOrder(); _wo.paperOrderNum = _fakeId; _wo.ID = 123; int _num = 0; string username = "******"; _woServ.Setup(p => p.Get(_num)).Returns(() => _wo); _waServ.Setup(p => p.Create(asmt, username)).Returns(() => asmt); //Act var result = await _controller.Create(asmt, username) as JsonResult; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(JsonResult)); Assert.AreEqual("{ sNewRef = /WorkAssignment/Edit/4242, sNewLabel = Assignment #: 12345-01, iNewID = 4242 }", result.Value.ToString()); }
public ActionResult Edit(int id, FormCollection collection, string userName, List <WorkerRequest> workerRequestList) { Domain.WorkOrder workOrder = woServ.Get(id); UpdateModel(workOrder); // Stale requests to remove foreach (var rem in workOrder.workerRequests.Except <WorkerRequest>(workerRequestList, new WorkerRequestComparer()).ToArray()) { var request = wrServ.GetByWorkerID(workOrder.ID, rem.WorkerID); wrServ.Delete(request.ID, userName); workOrder.workerRequests.Remove(rem); } // New requests to add foreach (var add in workerRequestList.Except <WorkerRequest>(workOrder.workerRequests, new WorkerRequestComparer())) { add.workOrder = workOrder; add.workerRequested = wServ.Get(add.WorkerID); add.updatedByUser(userName); add.createdByUser(userName); workOrder.workerRequests.Add(add); } woServ.Save(workOrder, userName); return(Json(new { status = "OK", editedID = id }, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(Domain.WorkOrder wo, string userName, List <WorkerRequest> workerRequestList) { UpdateModel(wo); Domain.WorkOrder neworder = woServ.Create(wo, userName); // New Worker Requests to add foreach (var workerRequest in workerRequestList) { workerRequest.workOrder = neworder; workerRequest.workerRequested = wServ.Get(workerRequest.WorkerID); workerRequest.updatedByUser(userName); workerRequest.createdByUser(userName); neworder.workerRequests.Add(workerRequest); } woServ.Save(neworder, userName); // JSON object with new work order data var result = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(neworder); return(Json(new { sNewRef = result.tabref, sNewLabel = result.tablabel, iNewID = result.ID }, JsonRequestBehavior.AllowGet)); }
public void create_valid_post_returns_json() { //Arrange var vmwo = new Machete.Web.ViewModel.WorkAssignment(); map.Setup(x => x.Map <Domain.WorkAssignment, Machete.Web.ViewModel.WorkAssignment>(It.IsAny <Domain.WorkAssignment>())) .Returns(vmwo); Domain.WorkAssignment _asmt = new Domain.WorkAssignment(); fakeform.Add("ID", "11"); fakeform.Add("englishlevelID", "0"); fakeform.Add("skillID", "60"); fakeform.Add("hours", "5"); fakeform.Add("hourlyWage", "12"); fakeform.Add("days", "1"); Domain.WorkOrder _wo = new Domain.WorkOrder(); _wo.paperOrderNum = 12345; _wo.ID = 123; int _num = 0; string username = "******"; woServ.Setup(p => p.Get(_num)).Returns(() => _wo); waServ.Setup(p => p.Create(_asmt, username)).Returns(() => _asmt); _ctrlr.ValueProvider = fakeform.ToValueProvider(); //Act JsonResult result = (JsonResult)_ctrlr.Create(_asmt, username); //Assert Assert.IsInstanceOfType(result, typeof(JsonResult)); //Assert.AreEqual("{ sNewRef = /WorkAssignment/Edit/12345, sNewLabel = Assignment #: 12345-01, iNewID = 12345 }", // result.Data.ToString()); }
public IHttpActionResult PaypalExecute(int orderID, [FromBody] PaypalPayment data) { validatePaypalData(data); Domain.WorkOrder order = null; order = serv.Get(orderID); if (order.EmployerID != employer.ID) { throwInvalidOrder(orderID); } validateNoPreviousPayment(order, data); if (order.ppState == null) { order.ppPayerID = data.payerID; order.ppPaymentID = data.paymentID; order.ppPaymentToken = data.paymentToken; order.ppState = "created"; woServ.Save(order, userEmail); } var result = postExecute(data); var payment = JsonConvert.DeserializeObject <PayPal.Api.Payment>(result); order.ppResponse = result; order.ppState = payment.state; order.ppFee = Double.Parse(payment.transactions.Single().amount.total); woServ.Save(order, userEmail); return(Json(payment)); }
public IHttpActionResult Post([FromBody] ViewModel.WorkOrder order) { var domain = map.Map <ViewModel.WorkOrder, Domain.WorkOrder>(order); domain.EmployerID = employer.ID; domain.onlineSource = true; Domain.WorkOrder newOrder = null; try { newOrder = serv.Create(domain, employer.email ?? employer.name); } catch (MacheteValidationException e) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(e.ErrorMessage), ReasonPhrase = "Validation failed on workorder" }; throw new HttpResponseException(res); } catch (InvalidOperationException e) { var res = new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(e.Message), ReasonPhrase = "Invalid operation " }; throw new HttpResponseException(res); } var result = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(newOrder); return(Json(new { data = result })); }
public ActionResult View(int id) { Domain.WorkOrder workOrder = woServ.Get(id); var m = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(workOrder); m.def = def; return(View(m)); }
public ActionResult ViewForEmail(int id) { Domain.WorkOrder workOrder = woServ.Get(id); var m = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(workOrder); m.def = def; ViewBag.OrganizationName = def.getConfig("OrganizationName"); return(PartialView(m)); }
public ActionResult Edit(int id, string userName, List <Domain.WorkerRequest> workerRequestList) { Domain.WorkOrder workOrder = woServ.Get(id); UpdateModel(workOrder); woServ.Save(workOrder, workerRequestList, userName); return(Json(new { status = "OK", editedID = id }, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(Domain.WorkOrder wo, string userName, List <Domain.WorkerRequest> workerRequestList) { UpdateModel(wo); Domain.WorkOrder neworder = woServ.Create(wo, userName); // JSON object with new work order data var result = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(neworder); return(Json(new { sNewRef = result.tabref, sNewLabel = result.tablabel, iNewID = result.ID }, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(int id) { // Retrieve Work Order Domain.WorkOrder workOrder = woServ.Get(id); // Retrieve Worker Requests associated with Work Order ViewBag.workerRequests = workOrder.workerRequests.Select(a => new SelectListItem { Value = a.WorkerID.ToString(), Text = a.workerRequested.dwccardnum.ToString() + ' ' + a.workerRequested.Person.firstname1 + ' ' + a.workerRequested.Person.lastname1 }); var m = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(workOrder); m.def = def; return(PartialView("Edit", m)); }
public ActionResult Get(int orderID) { Domain.WorkOrder order = null; try { order = serv.Get(orderID); if (order.EmployerID != Employer.ID) { throwInvalidOrder(orderID); } } catch { throwInvalidOrder(orderID); } // TODO: Not mapping to view object throws JsonSerializationException, good to test error // handling with...(delay in error) ViewModel.Api.WorkOrder result = map.Map <Domain.WorkOrder, ViewModel.Api.WorkOrder>(order); return(new JsonResult(new { data = result })); }