public async Task <bool> CreateRepairOrder(OrderEntityModel repair) { try { repair.CreatedBy = User; repair.ShopGuid = repair.ShopGuid; repair.InsuranceCompanyId = repair.InsuranceCompanyId; Db.RepairOrders.Add(repair); await Db.SaveChangesAsync(); var param = new { OrderId = repair.OrderId, PointsOfImpact = repair.ImpactPoints == null ? string.Empty : string.Join(",", repair.ImpactPoints.ToList()) }; await Db.Database .SqlQuery <object>( $"Repair.usp_SaveOrderPointsOfImpact @OrderId = '{param.OrderId}' , @PointsOfImpact = '{param.PointsOfImpact}'") .ToListAsync(); return(true); } catch (Exception ex) { Logger.LogException(ex, repair); throw; } }
public IActionResult PutOrder(int id, [FromBody] OrderEntityModel model) { try { if (ModelState.IsValid) { var newOrder = _mapper.Map <OrderEntityModel, Order>(model); newOrder.Id = id; _repo.ModifyOrder(newOrder); if (_repo.SaveAll()) { return(Accepted($"/api/clients/{newOrder.Id}", _mapper.Map <Order, OrderEntityModel>(newOrder))); } } else { return(BadRequest(ModelState)); } } catch (Exception e) { _logger.LogError($"Failed to put order with id {id}: {e}"); } return(BadRequest(($"Failed to edit order with id {id}"))); }
private async Task <OrderEntityModel> CreateOrderAsync(OrderEntityModel request) { var serializerSettings = new JsonSerializerSettings(); serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var myContent = JsonConvert.SerializeObject(request, serializerSettings); var stringContent = new StringContent(myContent, Encoding.UTF8, "application/json"); var response = await TestClient.PostAsync(ApiRoutes.Orders.Post, stringContent); //response.Should().Be(HttpStatusCode.Created); return(JsonConvert.DeserializeObject <OrderEntityModel>(await response.Content.ReadAsStringAsync())); }
//Creates new order. public void AddOrder(OrderInputModel model, double totalPrice, DateModel dateOrdered) { var newOrder = new OrderEntityModel() { UserID = model.UserID, TotalPrice = totalPrice, DateOrder = dateOrdered, IsCurrentOrder = true, }; _db.Add(newOrder); _db.SaveChanges(); }
public IActionResult PostOrder([FromBody] OrderEntityModel model) { try { var newOrder = _mapper.Map <OrderEntityModel, Order>(model); CheckDataValidation(newOrder); if (!ModelState.IsValid) { _logger.LogDebug($"bad request from post order made by : {ModelState} "); return(BadRequest(ModelState)); } var client = _clientsRepo .GetClientById(model.ClientId); if (client == null) { ModelState.AddModelError("Errors", "Client is not in Data Base"); return(BadRequest(ModelState)); } string firsName = client.FirstName.ToUpper(); string lastName = client.LastName.ToUpper(); newOrder.OrderNumber = $"{firsName[0]}{lastName.Substring(0, 3)}-{DateTime.Now.Year}{DateTime.Now.Month}{DateTime.Now.Day}{DateTime.Now.Hour}{DateTime.Now.Minute}{DateTime.Now.Second}"; newOrder.Client = _clientsRepo .GetAllClients() .FirstOrDefault(c => c.Id == model.ClientId); _repo.AddOrder(newOrder); if (_repo.SaveAll()) { return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderEntityModel>(newOrder))); } } catch (Exception e) { _logger.LogError($"Failed to post order: {e}"); } return(BadRequest(("Failed to save new order"))); }
public void CreateOrder(List <CartViewModel> cart, int accountId, int billingId) { foreach (var item in cart) { var newOrder = new OrderEntityModel { CustomerId = accountId, BookId = item.ItemId, Quantity = item.Quantity, BillingId = billingId, Price = item.Quantity * item.Price }; _db.Add(newOrder); //deletes the cart _cartService.RemoveCart(item, accountId); } var billing = GetBilling(billingId); //updates the cart to finished so this billing wont be changed var billingInput = new BillingEntityModel { Id = billingId, AccountId = accountId, StreetAddress = billing.StreetAddress, City = billing.City, Country = billing.Country, Finished = true, ZipCode = billing.ZipCode, CardOwner = billing.CardOwner, CardNumber = billing.CardNumber, ExpireDate = billing.ExpireMonth + "/" + billing.ExpireYear, CvCode = billing.CvCode }; _db.Update(billingInput); _db.SaveChanges(); }
private async Task <int> QuickRequestSave(IQuickRequest quickRequest, RepairRequestScanViewModel repairRequest) { var requestId = 0; try { // Check Vehicle Entry. if (quickRequest.VehicleMakeId > 0) { // Create Vehicle Model. var vehicle = new VehicleViewModel { VehicleVIN = quickRequest.VehicleVIN, VehicleMakeId = quickRequest.VehicleMakeId, VehicleModel = quickRequest.VehicleModel, VehicleYear = quickRequest.VehicleYear, VehicleTransmission = quickRequest.VehicleTransmission }; // Update Vehicle. Factory.Save((IVehicleDto)vehicle); } // Check Repair. OrderEntityModel repair; var repairs = Db.RepairOrders.Where(o => o.ShopGuid == quickRequest.ShopGuid && o.VehicleVIN == quickRequest.VehicleVIN && o.Status == RepairStatuses.Active).ToList(); if (repairs.Count == 1) { // Load Repair. repair = repairs.First(); await RepairLib.UpdateRepairOrder(new RepairEditViewModel { ShopGuid = quickRequest.ShopGuid, RepairOrderID = repair.OrderId, ShopReferenceNumber = quickRequest.ShopReferenceNumber, InsuranceCompany = new InsuranceCompanyEntityModel { InsuranceCompanyId = quickRequest.InsuranceCompanyId }, InsuranceCompanyOther = quickRequest.InsuranceCompanyOther, Odometer = quickRequest.Odometer, AirBagsDeployed = quickRequest.AirBagsDeployed, AirBagsVisualDeployments = quickRequest.AirBagsVisualDeployments, DrivableInd = quickRequest.DrivableInd, ImpactPoints = quickRequest.ImpactPoints }); } else { // Create Repair. repair = new OrderEntityModel { ShopGuid = quickRequest.ShopGuid, VehicleVIN = quickRequest.VehicleVIN, ShopReferenceNumber = quickRequest.ShopReferenceNumber, InsuranceCompanyId = quickRequest.InsuranceCompanyId, InsuranceCompanyOther = quickRequest.InsuranceCompanyOther, Odometer = quickRequest.Odometer, AirBagsDeployed = quickRequest.AirBagsDeployed, AirBagsVisualDeployments = quickRequest.AirBagsVisualDeployments, DrivableInd = quickRequest.DrivableInd, ImpactPoints = quickRequest.ImpactPoints }; await RepairLib.CreateRepairOrder(repair); } // Update Request. repairRequest.OrderId = repair.OrderId; repairRequest.ContactOtherFirstName = quickRequest.ContactOtherFirstName; repairRequest.ContactOtherLastName = quickRequest.ContactOtherLastName; repairRequest.ContactOtherPhone = quickRequest.ContactOtherPhone; repairRequest.ContactUserGuid = quickRequest.ContactUserGuid; if (repairRequest.RequestTypeID == 0) { repairRequest.RequestTypeID = 6; // Self Scan if Null. } if (repairRequest.RequestTypeCategoryId == 0) { repairRequest.RequestTypeCategoryId = 1; // Pre Request if Null. } // Save Request. requestId = await RepairLib.CreateScanRequest(repairRequest); // Check Result Id. if (quickRequest.DiagnosticResultId.HasValue) { // Load Diagnostic. var diag = Factory.GetById <IDiagnosticResultDto>(quickRequest.DiagnosticResultId.Value.ToString()); // Create Update. diag.RequestId = requestId; // Save Update. Factory.Save(diag); } else { // Upload File. if (Request?.Files[0] != null) { // Parse Upload File. var diag = DiagnosticFileParser.ParseFile(Request.Files[0].InputStream, DiagnosticTool.AutoEnginuity, DiagnosticFileType.XML); // Assign Request. diag.RequestId = requestId; // Save Result. diag = Factory.Save(diag); // Update Result Id. quickRequest.DiagnosticResultId = diag.ResultId; } } } catch (Exception e) { Logger.LogException(e, new { quickRequest, repairRequest }); } return(requestId); }
public IRepairDto Save(IRepairDto update) { // Load Type. var result = update; if (!UserHasRoles(ApplicationRoles.RepairCreate, ApplicationRoles.RepairEdit)) { // No Group Access. result.UpdateResult = new UpdateResultDto(false, "You do not have access to Repairs."); return(result); } var repair = update.RepairId == 0 ? null : Db.RepairOrders.Find(update.RepairId); if (repair == null) { repair = new OrderEntityModel { AirBagsDeployed = update.AirBagsDeployed, AirBagsVisualDeployments = update.AirBagsVisualDeployments, DrivableInd = update.DrivableInd, InsuranceCompanyId = update.InsuranceCompanyId, InsuranceCompanyOther = update.InsuranceCompanyOther, InsuranceReferenceNumber = update.InsuranceReferenceNumber, ShopReferenceNumber = update.ShopRONumber, ShopGuid = update.ShopGuid, Odometer = Convert.ToInt32(update.Odometer), CreatedByUserGuid = User.UserGuid, CreatedDt = DateTime.UtcNow, VehicleVIN = update.VehicleVIN, Status = RepairStatuses.Active }; Db.RepairOrders.Add(repair); Db.SaveChanges(); result.RepairId = repair.OrderId; var updateMessage = "Repair Created Successfully."; result.UpdateResult = new UpdateResultDto(true, updateMessage); } else { repair.AirBagsDeployed = update.AirBagsDeployed; repair.AirBagsVisualDeployments = update.AirBagsVisualDeployments; repair.DrivableInd = update.DrivableInd; repair.InsuranceCompanyId = update.InsuranceCompanyId; repair.InsuranceCompanyOther = update.InsuranceCompanyOther; repair.InsuranceReferenceNumber = update.InsuranceReferenceNumber; repair.ShopReferenceNumber = update.ShopRONumber; repair.ShopGuid = update.ShopGuid; repair.Odometer = Convert.ToInt32(update.Odometer); repair.VehicleVIN = update.VehicleVIN; repair.UpdatedDt = DateTimeOffset.UtcNow; repair.UpdatedByUserGuid = User.UserGuid; repair.Status = RepairStatuses.Active; Db.SaveChanges(); var updateMessage = "Repair Updated Successfully."; result.UpdateResult = new UpdateResultDto(true, updateMessage); } var param = new { OrderId = repair.OrderId, PointsOfImpact = update.PointsOfImpact == null ? string.Empty : string.Join(",", update.PointsOfImpact.ToList()) }; Db.Database.SqlQuery <object>( $"Repair.usp_SaveOrderPointsOfImpact @OrderId = '{param.OrderId}' , @PointsOfImpact = '{param.PointsOfImpact}'") .ToListAsync(); return(result); }