예제 #1
0
        public async Task <CostsheetVerSetRes> SetCostsheetNewVersion([FromBody] CostsheetVerSetReq request)
        {
            var response = new CostsheetVerSetRes();

            try
            {
                if (!string.IsNullOrEmpty(request.QRFID) && request != null)
                {
                    if (request.Pipeline == "Guesstimate")
                    {
                        response.QRFPrice_Id = await _qRFSummaryRepository.SaveQRFPrice("Guesstimate", "Regenerated from Guesstimate", request.QRFID, request.Create_User);

                        response.ResponseStatus.Status       = !String.IsNullOrEmpty(response.QRFPrice_Id) ? "Success" : "Failure";
                        response.ResponseStatus.ErrorMessage = !String.IsNullOrEmpty(response.QRFPrice_Id) ? "Costsheet Data Saved Successfully." : "Details not updated.";
                    }
                    else if (request.Pipeline == "Amendment")
                    {
                        await _qRFSummaryRepository.SaveDefaultGuesstimate(request.QRFID, "Amendment", "Regenerated from Amendment", request.Create_User);

                        response.QRFPrice_Id = await _qRFSummaryRepository.SaveQRFPrice("Amendment", "Regenerated from Amendment", request.QRFID, request.Create_User);

                        await _qRFSummaryRepository.SaveDefaultItinerary(request.Create_User, request.QRFID, "", true);

                        response.ResponseStatus.Status       = !String.IsNullOrEmpty(response.QRFPrice_Id) ? "Success" : "Failure";
                        response.ResponseStatus.ErrorMessage = !String.IsNullOrEmpty(response.QRFPrice_Id) ? "Costsheet Data Saved Successfully." : "Details not updated.";
                    }
                }
                else
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "QRFId can not be Null/Zero.";
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message;
            }

            return(response);
        }
예제 #2
0
        public async Task <mItinerary> GetItineraryDetails(ItineraryGetReq request)
        {
            try
            {
                mItinerary response  = new mItinerary();
                bool       IsDefault = false;
                string     pagename  = string.IsNullOrEmpty(request.Page) ? "" : request.Page.ToLower() ?? "";
                response = _MongoContext.mItinerary.AsQueryable().Where(a => a.QRFID == request.QRFID).FirstOrDefault();

                string ItineraryId;
                if (response == null || string.IsNullOrEmpty(response.ItineraryID))
                {
                    ItineraryId = Guid.NewGuid().ToString();
                }
                else
                {
                    ItineraryId = response.ItineraryID;
                }

                if (pagename == "qrfsummary")
                {
                    if (response == null)
                    {
                        IsDefault = await _qrfSummaryRepository.SaveDefaultItinerary(request.editUser, request.QRFID, ItineraryId, false);
                    }
                    else
                    {
                        var RegenerateItinerary = _MongoContext.mQuote.AsQueryable().Where(a => a.QRFID == request.QRFID).Select(b => b.RegenerateItinerary).FirstOrDefault();
                        if (RegenerateItinerary)
                        {
                            IsDefault = await _qrfSummaryRepository.SaveDefaultItinerary(request.editUser, request.QRFID, ItineraryId, false);
                        }
                        else
                        {
                            IsDefault = true;
                        }
                    }
                }
                else
                {
                    if (response == null)
                    {
                        IsDefault = await _qrfSummaryRepository.SaveDefaultItinerary(request.editUser, request.QRFID, ItineraryId, true);
                    }
                    else
                    {
                        var RegenerateItinerary = _MongoContext.mQRFPrice.AsQueryable().Where(a => a.QRFID == request.QRFID && a.IsCurrentVersion).Select(b => b.RegenerateItinerary).FirstOrDefault();
                        if (RegenerateItinerary)
                        {
                            IsDefault = await _qrfSummaryRepository.SaveDefaultItinerary(request.editUser, request.QRFID, ItineraryId, true);
                        }
                        else
                        {
                            IsDefault = true;
                        }
                    }
                }

                if (IsDefault == true)
                {
                    response = _MongoContext.mItinerary.AsQueryable().Where(a => a.QRFID == request.QRFID).FirstOrDefault();
                }
                else
                {
                    response = null;
                }

                response.ItineraryDays.ForEach(b => b.ItineraryDescription = b.ItineraryDescription.OrderBy(c => c.StartTime).ToList());
                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }