public ActionResult Edit([Bind("ixCarrier,sCarrier,ixCarrierType,sStandardCarrierAlphaCode,sCarrierConsignmentNumberPrefix,nCarrierConsignmentNumberStart,nCarrierConsignmentNumberLastUsed,dtScheduledPickupTime")] CarriersPost carriers) { if (ModelState.IsValid) { carriers.UserName = User.Identity.Name; _carriersService.Edit(carriers); return(RedirectToAction("Index")); } ViewBag.ixCarrierType = new SelectList(_carriersService.selectCarrierTypes().Select(x => new { x.ixCarrierType, x.sCarrierType }), "ixCarrierType", "sCarrierType", carriers.ixCarrierType); return(View(carriers)); }
public IActionResult Edit(EditCarrierViewModel input) { if (!ModelState.IsValid) { var modelCarrier = _carriersService.GetCarrierById(input.Id); var model = _mapper.Map <EditCarrierViewModel>(modelCarrier); return(this.View(model)); } var carrier = _mapper.Map <Carrier>(input); var editedReceiver = _carriersService.Edit(carrier); return(this.Redirect("/Nomenclatures/Carriers")); }
public Task <Int64> Create(OutboundOrdersPost outboundordersPost) { // Additional validations // Pre-process //Custom Code Start | Added Code Block //We batch and consign the order //As a simple placeholder we use Discrete order picking - single picker PickBatchesPost pickBatch = new PickBatchesPost(); pickBatch.ixPickBatchType = _pickbatchesService.PickBatchTypesDb().Where(x => x.sPickBatchType == "Discrete order picking - single picker").Select(x => x.ixPickBatchType).FirstOrDefault(); pickBatch.bMultiResource = false; pickBatch.dtStartBy = DateTime.Now; pickBatch.dtCompleteBy = pickBatch.dtStartBy.Add(new TimeSpan(1, 0, 0, 0)); pickBatch.ixStatus = _pickbatchesService.StatusesDb().Where(x => x.sStatus == "Inactive").Select(x => x.ixStatus).FirstOrDefault(); pickBatch.UserName = outboundordersPost.UserName; var ixPickBatch = _pickbatchesService.Create(pickBatch).Result; outboundordersPost.ixPickBatch = ixPickBatch; //We start by trying to find an existing active outboundShipment that matches out order if (_outboundshipmentsService.IndexDb().Where(x => x.ixFacility == outboundordersPost.ixFacility && x.ixCompany == outboundordersPost.ixCompany && x.ixCarrier == _outboundordersRepository.CarrierServicesDb().Where(c => c.ixCarrierService == outboundordersPost.ixCarrierService).Select(c => c.Carriers.ixCarrier).FirstOrDefault() && x.ixAddress == _outboundordersRepository.BusinessPartnersDb().Where(b => b.ixBusinessPartner == outboundordersPost.ixBusinessPartner).Select(b => b.ixAddress).FirstOrDefault() && x.ixStatus == _outboundordersRepository.StatusesDb().Where(s => s.sStatus == "Active").Select(s => s.ixStatus).FirstOrDefault() ).Select(x => x.ixOutboundShipment).Any()) { var ixOutboundShipment = _outboundshipmentsService.IndexDb().Where(x => x.ixFacility == outboundordersPost.ixFacility && x.ixCompany == outboundordersPost.ixCompany && x.ixCarrier == _outboundordersRepository.CarrierServicesDb().Where(c => c.ixCarrier == outboundordersPost.ixCarrierService).Select(c => c.Carriers.ixCarrier).FirstOrDefault() && x.ixAddress == _outboundordersRepository.BusinessPartnersDb().Where(b => b.ixBusinessPartner == outboundordersPost.ixBusinessPartner).Select(b => b.ixAddress).FirstOrDefault() && x.ixStatus == _outboundordersRepository.StatusesDb().Where(s => s.sStatus == "Active").Select(s => s.ixStatus).FirstOrDefault() ).Select(x => x.ixOutboundShipment).FirstOrDefault(); outboundordersPost.ixOutboundShipment = ixOutboundShipment; } else { OutboundShipmentsPost outboundShipment = new OutboundShipmentsPost(); outboundShipment.ixFacility = outboundordersPost.ixFacility; outboundShipment.ixCompany = outboundordersPost.ixCompany; outboundShipment.ixCarrier = _outboundordersRepository.CarrierServicesDb().Where(x => x.ixCarrier == outboundordersPost.ixCarrierService).Select(x => x.Carriers.ixCarrier).FirstOrDefault(); var carrier = _carriersService.GetPost(outboundShipment.ixCarrier); if (carrier.nCarrierConsignmentNumberLastUsed == null || carrier.nCarrierConsignmentNumberLastUsed < carrier.nCarrierConsignmentNumberStart) { outboundShipment.sCarrierConsignmentNumber = carrier.sCarrierConsignmentNumberPrefix + carrier.nCarrierConsignmentNumberStart.ToString(); carrier.nCarrierConsignmentNumberLastUsed = carrier.nCarrierConsignmentNumberStart; } else { outboundShipment.sCarrierConsignmentNumber = carrier.sCarrierConsignmentNumberPrefix + (carrier.nCarrierConsignmentNumberLastUsed + 1).ToString(); carrier.nCarrierConsignmentNumberLastUsed += 1; } _carriersService.Edit(carrier); outboundShipment.ixStatus = _outboundordersRepository.StatusesDb().Where(s => s.sStatus == "Active").Select(s => s.ixStatus).FirstOrDefault(); outboundShipment.ixAddress = _outboundordersRepository.BusinessPartnersDb().Where(b => b.ixBusinessPartner == outboundordersPost.ixBusinessPartner).Select(b => b.ixAddress).FirstOrDefault(); outboundShipment.UserName = outboundordersPost.UserName; var ixOutboundShipment = _outboundshipmentsService.Create(outboundShipment).Result; outboundordersPost.ixOutboundShipment = ixOutboundShipment; } //Custom Code End // Process this._outboundordersRepository.RegisterCreate(outboundordersPost); try { this._outboundordersRepository.Commit(); } catch (Exception ex) { this._outboundordersRepository.Rollback(); // Log exception throw; } // Post-process return(Task.FromResult(outboundordersPost.ixOutboundOrder)); }