Spontaneous.WebApp.Services.UserProfileFacade.GetMedals C# (CSharp) Method

GetMedals() private method

private GetMedals ( ) : List
return List
        internal List<UserMedal> GetMedals()
        {
            var userProfile = GetUserProfile();
            var userData = userProfile.GetUserData();

            if (userData == null || userData.UserMedalsList == null || userData.UserMedalsList.Count == 0)
            {
                log.WarnFormat("[GetMedals] User={0} tried to get GetMedals, but doesn't exists.", userProfile.UserName);
                return null;
            }

            List<UserMedal> medals = userData.UserMedalsList;
            if (medals.Exists(m => m.Coupon == null))
            {
                foreach (UserMedal item in medals)
                {
                    if (item.Coupon == null)
                    {
                        if (item is WelcomeUserMedal) item.Coupon = new CouponType()
                        {
                            Description = "קפה + מאפה ב15% הנחה במסעדת Nelly's Kitchen.",
                            RestaurantsIDs = new List<string>() { "52810aca3720e808eccf5149" },
                            //RestaurantsIDs = new List<string>() { "52984598cb1bfe1048bc6f72" },
                            LocationsList = new List<Location>() { new Location(32.051, 34.755) },
                            ValidFrom = DateTime.UtcNow,
                            ValidUntil = new DateTime(2014, 1, 31)
                        };
                        if (item is FlowCompleteMedal) item.Coupon = new CouponType()
                        {
                            Description = "מנה ראשונה במתנה בהזמנת עיקרית במסעדת BG99.",
                            RestaurantsIDs = new List<string>() { "51c5a3cf3720e80f808f5d3c" },
                            LocationsList = new List<Location>() { new Location(32.016652, 34.738724) },
                            ValidFrom = DateTime.UtcNow,
                            ValidUntil = new DateTime(2014, 1, 31)
                        };
                        if (item is RestaurantAdviserMedal) item.Coupon = new CouponType()
                        {
                            Description = "אכול כפי יכולתך רק ב89 שקל במסעדת קולומבוס.",
                            RestaurantsIDs = new List<string>() { "528ccb2c3720e8104497f5b3" },
                            LocationsList = new List<Location>() { new Location(32.161, 34.81) },
                            ValidFrom = DateTime.UtcNow,
                            ValidUntil = new DateTime(2014, 1, 31)
                        };
                        if (item is ReservationMedal) item.Coupon = new CouponType()
                        {
                            Description = "1+1 על כל בירה מהחבית במסעדת Red Burger Bar, כל יום עד שעה 19:00.",
                            RestaurantsIDs = new List<string>() { "5293649b3720e807887f939e" },
                            LocationsList = new List<Location>() { new Location(32.33, 34.85) },
                            ValidFrom = DateTime.UtcNow,
                            ValidUntil = new DateTime(2014, 1, 31)
                        };
                        if (item is AddRestaurantMedal) item.Coupon = new CouponType()
                        {
                            Description = "ארוחה זוגית ב- 200 שח הארוחה כוללת: - 2 כוסות יין הבית - 2 מרק + לחם הבית - מיקס פירות ים, במסעדת Palamida.",
                            RestaurantsIDs = new List<string>() { "513cf83c3720e80c38aa46fd" },
                            LocationsList = new List<Location>() { new Location(32.084638, 34.803035) },
                            ValidFrom = DateTime.UtcNow,
                            ValidUntil = new DateTime(2014, 1, 31)
                        };
                    }//if (item.Coupon == null)
                }
            }
            log.InfoFormat("[GetMedals] user={0}, Medals= Medals.ToString Function Not implemented.", userProfile.UserName);
            return medals;
        }