public async Task <ActivitiesGetRes> GetActivitiesDetailsByQRFID(QuoteGetReq request) { var response = new ActivitiesGetRes(); try { List <ActivitiesProperties> objActivitiesProperties = new List <ActivitiesProperties>(); RoutingGetReq req = new RoutingGetReq { QRFId = request.QRFID }; var resultQuote = _MongoContext.mQuote.AsQueryable().Where(q => q.QRFID == request.QRFID); if (resultQuote != null && resultQuote.Count() > 0) { var resultPosition = _MongoContext.mPosition.AsQueryable().Where(q => q.QRFID == request.QRFID).FirstOrDefault(); List <RoutingInfo> lstRoutingInfo = await _quoteRepository.GetQRFRouteDetailsByQRFID(req); if (resultPosition != null) { var result = resultPosition.Activities; if (result != null && result.ActivitiesDetails != null) { List <string> daysList = new List <string>(); int day = 0; foreach (var item in lstRoutingInfo) { day = item.Days; for (int i = 1; i <= day; i++) { daysList.Add("Day " + (daysList.Count + 1)); } } response.DaysList = daysList; response.ActivitiesDetails = result.ActivitiesDetails.Where(q => q.IsDeleted == false).ToList(); response.ResponseStatus.Status = "Success"; } else { GetNewActivityDetails(lstRoutingInfo, resultQuote.FirstOrDefault(), ref response); } } else { GetNewActivityDetails(lstRoutingInfo, resultQuote.FirstOrDefault(), ref response); } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "QRFID is not exists."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Error occured : " + ex.Message.ToString(); } return(response); }
public async Task <ResponseStatus> UpdateValidForAcceptance(QuoteGetReq quoteGetReq, string ticket) { ResponseStatus response = new ResponseStatus(); response = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceQuote:UpdateValidForAcceptance"), quoteGetReq, typeof(ResponseStatus), ticket); return(response); }
public async Task <MealsGetRes> GetMealsDetailsByQRFID(QuoteGetReq objQuoteGetReq, string ticket) { MealsGetRes objMealsGetRes = new MealsGetRes(); objMealsGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceMeals:GetMealsDetailsByQRFID"), objQuoteGetReq, typeof(MealsGetRes), ticket); return(objMealsGetRes); }
public async Task <CommonResponse> CheckProposalGenerated(QuoteGetReq reqQuoteGetReq, string ticket) { CommonResponse response = new CommonResponse(); response = await serviceProxy.PostData(_configuration.GetValue <string>("AgentApproval:CheckProposalGenerated"), reqQuoteGetReq, typeof(CommonResponse), ticket); return(response); }
public ResponseStatus UpdateValidForAcceptance(IConfiguration _configuration, string token, string QRFID, string UserName) { QuoteGetReq objQuoteGetReq = new QuoteGetReq() { QRFID = QRFID, UserName = UserName }; ResponseStatus objResponseStatus = coProviders.UpdateValidForAcceptance(objQuoteGetReq, token).Result; return(objResponseStatus); }
public CommonResponse CheckProposalGenerated(QuoteGetReq request, string token) { CommonResponse objCommonResponse = new CommonResponse(); try { objCommonResponse = agentApprovalProviders.CheckProposalGenerated(request, token).Result; objCommonResponse = objCommonResponse != null ? objCommonResponse : new CommonResponse(); } catch (Exception ex) { objCommonResponse.ResponseStatus.Status = "Failure"; objCommonResponse.ResponseStatus.ErrorMessage = "An Error Occurs:- " + ex.Message; } return(objCommonResponse); }
public IActionResult AcceptWithoutProposal(QuoteGetReq model) { EmailGetReq emailGetReq = new EmailGetReq() { QrfId = model.QRFID, UserName = ckUserName, UserEmail = ckUserEmailId, PlacerUserId = ckLoginUser_Id }; CommonResponse objCommonResponse = agentApprovalMapping.AcceptWithoutProposal(emailGetReq, token); return(Json(new { status = objCommonResponse.ResponseStatus.Status, msg = objCommonResponse.ResponseStatus.ErrorMessage })); }
public IActionResult CheckProposalGenerated(QuoteGetReq model) { CommonResponse objCommonResponse = new CommonResponse() { ResponseStatus = new ResponseStatus() }; try { objCommonResponse = agentApprovalMapping.CheckProposalGenerated(model, token); } catch (System.Exception ex) { objCommonResponse.ResponseStatus.Status = "Error"; objCommonResponse.ResponseStatus.ErrorMessage = "An Error Occurs:- " + ex.Message; } return(Json(new { status = objCommonResponse.ResponseStatus.Status, msg = objCommonResponse.ResponseStatus.ErrorMessage })); }
public async Task <CommonResponse> CheckProposalGenerated([FromBody] QuoteGetReq request) { var response = new CommonResponse(); try { if (request != null && !string.IsNullOrEmpty(request.QRFID)) { response = await _agentApprovalRepository.CheckProposalGenerated(request); } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "QRF ID can not be Null/Blank."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message; } return(response); }
public async Task <ActivitiesGetRes> GetActivitiesDetailsByQRFID([FromBody] QuoteGetReq request) { var response = new ActivitiesGetRes(); try { if (request != null) { response = await _activitiesRepository.GetActivitiesDetailsByQRFID(request); } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Request details can not be Null."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs " + ex.Message; } response.QRFID = request.QRFID; return(response); }
public async Task <MealsGetRes> GetMealsDetailsByQRFID(QuoteGetReq request) { var response = new MealsGetRes(); List <MealDetails> objMealsProperties = new List <MealDetails>(); RoutingGetReq req = new RoutingGetReq(); req.QRFId = request.QRFID; var resultQuote = _MongoContext.mQuote.AsQueryable().Where(q => q.QRFID == request.QRFID); if (resultQuote != null && resultQuote.Count() > 0) { var resultPosition = _MongoContext.mPosition.AsQueryable().Where(q => q.QRFID == request.QRFID).FirstOrDefault(); List <RoutingInfo> lstRoutingInfo = await _quoteRepository.GetQRFRouteDetailsByQRFID(req); if (resultPosition != null) { var result = resultPosition.Meals; if (result != null && result.Count > 0) { var CityCount = result.GroupBy(m => new { m.CityID }).Select(m => new { m.Key.CityID, DayCount = m.Count() }); if ((lstRoutingInfo != null && lstRoutingInfo.Count > 0) && (CityCount != null && CityCount.Count() > 0)) { result.ToList().FindAll(f => !lstRoutingInfo.Exists(r => r.ToCityID == f.CityID)).ForEach(c => c.IsDeleted = true); foreach (var item in lstRoutingInfo) { int daycount = CityCount.Where(c => c.CityID == item.ToCityID).Select(c => c.DayCount).FirstOrDefault(); if (item.Days > daycount) { // int i = item.Days - daycount; //5-3=2 for (int j = daycount; j < item.Days; j++) { result.Add(new MealDetails { CityID = item.ToCityID, CityName = item.ToCityName, VenueTypes = new List <VenueTypes>() }); } } else if (item.Days < daycount) { int i = daycount - item.Days; //5-3=2 result.Where(r => r.CityID == item.ToCityID).TakeLast(i).ToList().ForEach(m => { m.IsDeleted = true; }); } } TimeSpan timeoutprev; foreach (var m in result) { m.SequenceNo = lstRoutingInfo.Where(r => r.ToCityID == m.CityID).Select(t => t.RouteSequence).FirstOrDefault(); AccomodationInfo objAccomodationInfo = resultPosition.AccomodationInfo.Where(a => a.StartingFrom == m.DayID && a.IsDeleted == false).FirstOrDefault(); if (objAccomodationInfo != null) { MealDetails md = CheckDefaultMealPlan(m, timeoutprev, objAccomodationInfo, out TimeSpan newtimeout); m.Breakfast = md.Breakfast; m.DefaultPlan = md.DefaultPlan; m.Dinner = md.Dinner; m.Lunch = md.Lunch; timeoutprev = newtimeout; } } result = result.Where(m => m.IsDeleted == false).OrderBy(m => m.SequenceNo).ToList(); int k = 1; result.ForEach(m => m.DayID = "Day " + (k++)); response.MealDetails = result; response.ResponseStatus.Status = "Success"; } else if ((lstRoutingInfo != null && lstRoutingInfo.Count > 0) && CityCount.Count() == 0) { mPosition objPosition = AddMealsDetails(objMealsProperties, lstRoutingInfo, request, resultPosition.AccomodationInfo, "i"); result = objPosition.Meals; var resultFlag = await _MongoContext.mPosition.UpdateOneAsync(Builders <mPosition> .Filter.Eq("QRFID", request.QRFID), Builders <mPosition> .Update.Set("Meals", result)); response.ResponseStatus.Status = resultFlag.MatchedCount > 0 ? "Success" : "Failure"; response.ResponseStatus.ErrorMessage = resultFlag.MatchedCount > 0 ? "Saved Successfully." : "Meals Details not updated."; } else { TimeSpan timeoutprev; var agentroute = resultQuote.FirstOrDefault().RoutingInfo.FirstOrDefault(); result.ForEach(m => { m.IsDeleted = true; m.EditDate = agentroute.EditDate; m.EditUser = request.UserName; m.SequenceNo = lstRoutingInfo.Where(r => r.ToCityID == m.CityID).Select(t => t.RouteSequence).FirstOrDefault(); AccomodationInfo objAccomodationInfo = resultPosition.AccomodationInfo.Where(a => a.StartingFrom == m.DayID && a.IsDeleted == false).FirstOrDefault(); if (objAccomodationInfo != null) { MealDetails md = CheckDefaultMealPlan(m, timeoutprev, objAccomodationInfo, out TimeSpan newtimeout); m.Breakfast = md.Breakfast; m.DefaultPlan = md.DefaultPlan; m.Dinner = md.Dinner; m.Lunch = md.Lunch; timeoutprev = newtimeout; } }); UpdateResult resultFlag = await _MongoContext.mPosition.UpdateOneAsync(Builders <mPosition> .Filter.Eq("QRFID", request.QRFID), Builders <mPosition> .Update.Set("Meals", result)); response.ResponseStatus.Status = resultFlag.MatchedCount > 0 ? "Success" : "Failure"; response.ResponseStatus.ErrorMessage = resultFlag.MatchedCount > 0 ? "Saved Successfully." : "Meals Details not updated."; } } else { UpdateResult resultFlag = null; if (lstRoutingInfo != null && lstRoutingInfo.Count > 0) { mPosition objPosition = AddMealsDetails(objMealsProperties, lstRoutingInfo, request, resultPosition.AccomodationInfo, "i"); resultFlag = await _MongoContext.mPosition.UpdateOneAsync(Builders <mPosition> .Filter.Eq("QRFID", request.QRFID), Builders <mPosition> .Update.Set("Meals", objPosition.Meals)); response.MealDetails = objPosition.Meals; response.ResponseStatus.Status = resultFlag.MatchedCount > 0 ? "Success" : "Failure"; response.ResponseStatus.ErrorMessage = resultFlag.MatchedCount > 0 ? "Saved Successfully." : "Meals Details not updated."; } else { response.ResponseStatus.ErrorMessage = "No Routing Details found."; response.ResponseStatus.Status = "Failure"; } } } else { if (lstRoutingInfo != null && lstRoutingInfo.Count > 0) { mPosition objPosition = AddMealsDetails(objMealsProperties, lstRoutingInfo, request, resultPosition.AccomodationInfo, "i"); await _MongoContext.mPosition.InsertOneAsync(objPosition); response.ResponseStatus.Status = "Success"; response.MealDetails = objPosition.Meals; } else { response.ResponseStatus.ErrorMessage = "No Routing Details found."; response.ResponseStatus.Status = "Failure"; } } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "QRFID is not exists."; } return(response); }
public mPosition AddMealsDetails(List <MealDetails> objMealsProperties, List <RoutingInfo> lstRoutingInfo, QuoteGetReq request, List <AccomodationInfo> lstAcc, string status) { foreach (var item in lstRoutingInfo) { int day = item.Days; for (int i = 1; i <= day; i++) { objMealsProperties.Add(new MealDetails { CityID = item.ToCityID, CityName = item.ToCityName, VenueTypes = new List <VenueTypes>(), DayID = "Day " + (objMealsProperties.Count + 1) }); } } QRFCounterRequest qrfCounterRequest = new QRFCounterRequest(); qrfCounterRequest.CounterType = _configuration["CounterType:Meals"].ToString(); TimeSpan timeoutprev; if (status == "i") { foreach (var item in objMealsProperties) { item.CreateUser = request.UserName; item.CreateDate = DateTime.Now; item.EditDate = null; item.EditUser = ""; item.MealID = item.MealID == 0 ? _genericRepository.GetNextReferenceNumber(qrfCounterRequest).LastReferenceNumber : item.MealID; item.SequenceNo = lstRoutingInfo.Where(r => r.ToCityID == item.CityID).Select(t => t.RouteSequence).FirstOrDefault(); item.VenueTypes.ForEach(a => { a.VenueDetails.CreateDate = DateTime.Now; a.VenueDetails.EditDate = null; a.VenueDetails.EditUser = ""; }); AccomodationInfo objAccomodationInfo = lstAcc.Where(a => a.StartingFrom == item.DayID && a.IsDeleted == false).FirstOrDefault(); if (objAccomodationInfo != null) { MealDetails md = CheckDefaultMealPlan(item, timeoutprev, objAccomodationInfo, out TimeSpan newtimeout); item.Breakfast = md.Breakfast; item.DefaultPlan = md.DefaultPlan; item.Dinner = md.Dinner; item.Lunch = md.Lunch; timeoutprev = newtimeout; } } } mPosition objPosition = new mPosition(); objPosition.Meals = objMealsProperties.OrderBy(m => m.SequenceNo).ToList(); objPosition.QRFID = request.QRFID; return(objPosition); }