public async Task <UpdatePositionProduct_RS> UpdatePositionProduct(UpdatePositionProduct_RQ objUpdBookingRQ) { UpdatePositionProduct_RS objUpdBookingRS = new UpdatePositionProduct_RS(); objUpdBookingRS = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceUpdate:UpdatePositionProduct"), objUpdBookingRQ, typeof(UpdatePositionProduct_RS)); return(objUpdBookingRS); }
public async Task <UpdatePositionProduct_RS> UpdatePositionProduct(UpdatePositionProduct_RQ request, IConfiguration _configuration, UserCookieDetail userdetails) { UpdatePositionProduct_RS result = new UpdatePositionProduct_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 (UpdatePositionProduct upd in request.UpdatePositionProduct) { 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.UpdatePositionProduct(request); if (result != null && result.UpdatePositionProduct.Count > 0) { result.ResponseStatus.Status = "Success"; } else { result.ResponseStatus.Status = "Failure"; } result.Request = request; return(result); }
public async Task <IActionResult> UpdatePositionProduct([FromBody] UpdatePositionProduct_RQ requestbody) { var response = new UpdatePositionProduct_RS(); //bool isRequestOK = true; 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.UpdatePositionProduct.Count > 0) { foreach (UpdatePositionProduct request in requestbody.UpdatePositionProduct) { if (!string.IsNullOrWhiteSpace(request.Position_Id) && !string.IsNullOrWhiteSpace(request.Position_Id)) { Guid Position_Id = Guid.Empty; Guid Product_Id = Guid.Empty; if (!Guid.TryParse(request.Position_Id, out Position_Id) && !Guid.TryParse(request.Product_Id, out Product_Id)) { response.ResponseStatus.Status = "Failure"; if (!Guid.TryParse(request.Position_Id, out Position_Id)) { response.ResponseStatus.ErrorMessage = "InValid Position_Id " + Convert.ToString(request.Position_Id) + ". "; } if (!Guid.TryParse(request.Product_Id, out Product_Id)) { response.ResponseStatus.ErrorMessage += "InValid Product_Id " + Convert.ToString(request.Product_Id); } return(BadRequest(response.ResponseStatus)); } } else { response.ResponseStatus.Status = "Failure"; if (!string.IsNullOrWhiteSpace(request.Position_Id)) { response.ResponseStatus.ErrorMessage = "Position_Id cannot be blank. "; } if (!string.IsNullOrWhiteSpace(request.Product_Id)) { response.ResponseStatus.ErrorMessage += "Product_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.UpdatePositionProduct(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)); }