public async Task <UpdateOperationDetails_RS> UpdateOperationDetails(UpdateOperationDetails_RQ objUpdBookingRQ) { UpdateOperationDetails_RS objUpdBookingRS = new UpdateOperationDetails_RS(); objUpdBookingRS = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceUpdate:UpdateOperationDetails"), objUpdBookingRQ, typeof(UpdateOperationDetails_RS)); return(objUpdBookingRS); }
public async Task <UpdateOperationDetails_RS> UpdateOperationDetails(UpdateOperationDetails_RQ request, IConfiguration _configuration, UserCookieDetail userdetails) { UpdateOperationDetails_RS result = new UpdateOperationDetails_RS(); common.GetUserCompanyType(ref userdetails); var System = _MongoContext.mSystem.AsQueryable().FirstOrDefault(); //.Where(a => Users.Company_Id == a.CoreCompany_Id) FilterDefinition <mBookings> filter; FilterDefinition <mBookingPositions> filterPos; filter = Builders <mBookings> .Filter.Empty; filterPos = Builders <mBookingPositions> .Filter.Empty; foreach (UpdateOperationDetails upd in request.UpdateOperationDetails) { filter = Builders <mBookings> .Filter.Empty; filterPos = Builders <mBookingPositions> .Filter.Empty; if (upd.Position_Id != null) { string curPos_Id = upd.Position_Id.ToString().ToLower(); filterPos = Builders <mBookingPositions> .Filter.Where(f => curPos_Id == f.Position_Id); string Booking_Id = (await _MongoContext.mBookingPositions.Find(filterPos).Project(p => p.Booking_Id).FirstOrDefaultAsync()); Booking_Id = Booking_Id.ToLower(); filter = Builders <mBookings> .Filter.Where(f => f.BookingId == Booking_Id); string AgentId = (await _MongoContext.mBookings.Find(filter).Project(p => p.AgentId).FirstOrDefaultAsync()); string Suppliers = (await _MongoContext.mBookings.Find(filter).Project(p => p.Suppliers).FirstOrDefaultAsync()); if (userdetails.Company_Id.ToString().ToLower() != System.CoreCompany_Id.ToString().ToLower()) { if ((userdetails.IsAgent ?? false)) { if (userdetails.Company_Id.Trim().ToLower() != AgentId.Trim().ToLower()) { result.ResponseStatus.Status = "Failure"; result.ResponseStatus.ErrorMessage = "User is not authorised to update this position " + curPos_Id; return(result); } } else if ((userdetails.IsSupplier ?? false)) { if (!Suppliers.Contains("," + userdetails.Company_Id + ",")) { result.ResponseStatus.Status = "Failure"; result.ResponseStatus.ErrorMessage = "User is not authorised to update this position " + curPos_Id; return(result); } } } } } VGER_Communicator.Providers.BookingProviders provider = new VGER_Communicator.Providers.BookingProviders(_configuration); result = await provider.UpdateOperationDetails(request); if (result != null && result.UpdateOperationDetails.Count > 0) { result.ResponseStatus.Status = "Success"; } else { result.ResponseStatus.Status = "Failure"; } result.Request = request; return(result); }
public async Task <IActionResult> UpdateOperationDetails([FromBody] UpdateOperationDetails_RQ requestbody) { var response = new UpdateOperationDetails_RS(); try { if (!ModelState.IsValid) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Request is not valid"; return(BadRequest(response.ResponseStatus)); } else { if (requestbody != null) { var userdetails = Helpers.CreateToken.ReadToken(HttpContext); if (requestbody.UpdateOperationDetails.Count > 0) { foreach (UpdateOperationDetails request in requestbody.UpdateOperationDetails) { if (!string.IsNullOrWhiteSpace(request.Position_Id)) { Guid Position_Id = Guid.Empty; if (!Guid.TryParse(request.Position_Id, out Position_Id)) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "InValid Position_Id " + Convert.ToString(request.Position_Id); return(BadRequest(response.ResponseStatus)); } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Position_Id cannot be blank"; return(BadRequest(response.ResponseStatus)); } } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Blank Request"; return(BadRequest(response.ResponseStatus)); } var result = await _bookingRepository.UpdateOperationDetails(requestbody, _configuration, userdetails); if (result != null) { response = result; if (result.ResponseStatus.Status == "Failure") { //return NotFound(response.ResponseStatus); return(Unauthorized()); } else { response.ResponseStatus.Status = "Success"; } } else { response.ResponseStatus.Status = "Success"; response.ResponseStatus.ErrorMessage = "No Records Found."; return(NotFound(response.ResponseStatus)); } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Position_Ids can not be blank."; return(BadRequest(response.ResponseStatus)); } } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An error occurs " + ex.Message.ToString(); return(BadRequest(response.ResponseStatus)); } return(Ok(response)); }