示例#1
0
        public async Task <MealVenueSetRes> SetMealVenueDetailsByID(MealVenueSetReq objMealVenueSetReq, string ticket)
        {
            MealVenueSetRes objMealVenueSetRes = new MealVenueSetRes();

            objMealVenueSetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceMeals:SetMealVenueDetailsByID"), objMealVenueSetReq, typeof(MealVenueSetRes), ticket);

            return(objMealVenueSetRes);
        }
示例#2
0
        public async Task <MealVenueSetRes> SetMealVenueDetailsByID(MealVenueSetReq request)
        {
            MealVenueSetRes  mealVenueSetRes  = new MealVenueSetRes();
            mProductSupplier mProductSupplier = new mProductSupplier();

            mealVenueSetRes.MealID = request.MealID;
            mealVenueSetRes.QRFID  = request.QRFID;
            var    result         = _MongoContext.mQuote.AsQueryable().Where(a => a.QRFID == request.QRFID).ToList();
            string msg            = "";
            long   venuedetailsid = request.VenueTypes.VenueDetails.VenueDetailsId;

            mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = venuedetailsid;
            if (result != null && result.Count > 0)
            {
                var resultmeal = _MongoContext.mPosition.AsQueryable().Where(a => a.QRFID == request.QRFID).FirstOrDefault();

                if (resultmeal != null)
                {
                    MealDetails       objMealDetails = resultmeal.Meals.Find(m => m.MealID == request.MealID);
                    List <VenueTypes> lstVenueTypes  = new List <VenueTypes>();

                    if (!(string.IsNullOrEmpty(request.VenueTypes.VenueDetails.MealTypeID)))
                    {
                        mProductSupplier = _MongoContext.mProductSupplier.AsQueryable().Where(p => p.Product_Id == request.VenueTypes.VenueDetails.MealTypeID && p.DafaultSupplier == true).FirstOrDefault();
                        request.VenueTypes.VenueDetails.SupplementID = mProductSupplier != null ? mProductSupplier.VoyagerProductSupplier_Id : "";
                    }

                    if (objMealDetails != null)
                    {
                        lstVenueTypes = objMealDetails.VenueTypes;
                        if (lstVenueTypes != null && lstVenueTypes.Count > 0)
                        {
                            if (lstVenueTypes.Where(v => v.VenueDetails.VenueDetailsId == venuedetailsid).FirstOrDefault() != null)
                            {
                                request.VenueTypes.VenueDetails.EditDate = DateTime.Now;
                                lstVenueTypes.Where(v => v.VenueDetails.VenueDetailsId == venuedetailsid).FirstOrDefault().VenueDetails  = request.VenueTypes.VenueDetails;
                                lstVenueTypes.Where(v => v.VenueDetails.VenueDetailsId == venuedetailsid).FirstOrDefault().VenueTypeName = request.VenueTypes.VenueTypeName;
                                mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = venuedetailsid;
                                msg = "Details Saved Successfully.";
                            }
                            else
                            {
                                QRFCounterRequest qrfCounterRequest = new QRFCounterRequest();
                                qrfCounterRequest.CounterType = _configuration["CounterType:MealsVenue"].ToString();
                                request.VenueTypes.VenueDetails.VenueDetailsId         = _genericRepository.GetNextReferenceNumber(qrfCounterRequest).LastReferenceNumber;
                                mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = request.VenueTypes.VenueDetails.VenueDetailsId;

                                request.VenueTypes.VenueDetails.CreateDate = DateTime.Now;
                                request.VenueTypes.VenueDetails.EditDate   = null;
                                request.VenueTypes.VenueDetails.EditUser   = "";

                                if (!(string.IsNullOrEmpty(request.VenueTypes.VenueDetails.MealTypeID)))
                                {
                                    mProductSupplier = _MongoContext.mProductSupplier.AsQueryable().Where(p => p.Product_Id == request.VenueTypes.VenueDetails.MealTypeID && p.DafaultSupplier == true).FirstOrDefault();
                                }
                                lstVenueTypes.Add(new VenueTypes {
                                    VenueDetails = request.VenueTypes.VenueDetails, VenueTypeName = request.VenueTypes.VenueTypeName
                                });
                                msg = "Details Updated Successfully.";
                            }
                        }
                        else
                        {
                            QRFCounterRequest qrfCounterRequest = new QRFCounterRequest();

                            qrfCounterRequest.CounterType = _configuration["CounterType:MealsVenue"].ToString();
                            request.VenueTypes.VenueDetails.VenueDetailsId         = _genericRepository.GetNextReferenceNumber(qrfCounterRequest).LastReferenceNumber;
                            mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = request.VenueTypes.VenueDetails.VenueDetailsId;

                            request.VenueTypes.VenueDetails.CreateDate = DateTime.Now;
                            request.VenueTypes.VenueDetails.EditDate   = null;
                            request.VenueTypes.VenueDetails.EditUser   = "";

                            lstVenueTypes.Add(new VenueTypes {
                                VenueDetails = request.VenueTypes.VenueDetails, VenueTypeName = request.VenueTypes.VenueTypeName,
                            });

                            msg = "Details Saved Successfully.";
                        }
                        await _MongoContext.mPosition.FindOneAndUpdateAsync(m => m.QRFID == request.QRFID && m.Meals.Any(md => md.MealID == request.MealID),
                                                                            Builders <mPosition> .Update.Set(m => m.Meals[-1].VenueTypes, lstVenueTypes));
                    }
                    else
                    {
                        msg = "Meal ID not exist.";
                    }
                }
                else
                {
                    msg = "QRF ID not exist in Meals.";
                }
            }
            else
            {
                msg = "QRF ID not exist.";
            }
            mealVenueSetRes.ResponseStatus.Status       = "Success";
            mealVenueSetRes.ResponseStatus.ErrorMessage = msg;
            return(mealVenueSetRes);
        }