Example #1
0
        public static GeoCatalogObject GetGeoPointByAlias(string lang, string alias)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getGeoObject", "geopoint", new
            {
                language      = lang,
                geopointalias = alias
            });

            System.Collections.Generic.List <GeoCatalogObject> list = (
                from row in ds.Tables["geopoint"].Rows.Cast <DataRow>().Take(2)
                select CatalogProvider.factory.GeoCatalogObject(row)).ToList <GeoCatalogObject>();
            GeoCatalogObject result;

            if (list.Count == 0)
            {
                result = null;
            }
            else
            {
                if (list.Count > 1)
                {
                    throw new ExceptionWithCode(201, string.Format("more then one geopoint alias '{0}' found", alias));
                }
                result = list[0];
            }
            return(result);
        }
Example #2
0
        public static System.Collections.Generic.List <QuestionnaireGroup> GetQuestionnaire(string objecttype, string language)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("[rating].[up_getQuestionnaire]", "groups,questions,issues", new
            {
                objecttype = objecttype,
                lang       = language
            });

            System.Collections.Generic.List <QuestionnaireGroup> result = (
                from DataRow row in ds.Tables["groups"].Rows
                select SurveyProvider.factory.QuestionnaireGroup(row)).ToList <QuestionnaireGroup>();
            foreach (QuestionnaireGroup group in result)
            {
                group.Questions.AddRange(
                    from DataRow row in ds.Tables["questions"].Rows
                    where row.ReadInt("questiongroup") == @group.Id
                    select SurveyProvider.factory.QuestionnaireQuestion(row));
                foreach (QuestionnaireQuestion question in group.Questions)
                {
                    question.Issues.AddRange(
                        from DataRow row in ds.Tables["issues"].Rows
                        where row.ReadInt("questiongroup") == @group.Id && row.ReadInt("question") == question.Id
                        select SurveyProvider.factory.QuestionnaireIssue(row));
                }
            }
            return(result);
        }
        //список стран, в которых есть экскурсии
        private KeyValuePair <string, string>[] GetCountriesList()
        {
            var selectQuery = "select name, lname, inc from state where inc in (select state from region where inc in (select region from excurs))";

            //текущий язык
            DataSet set = DatabaseOperationProvider.Query(selectQuery, "regions", new { });

            var countries = new List <KeyValuePair <string, string> >();

            foreach (DataRow row in set.Tables["regions"].Rows)
            {
                var slug = StringsHelper.GenerateSlug(row["lname"].ToString());

                if (slug == "")
                {
                    continue;
                }

                if (UrlLanguage.CurrentLanguage == "ru")
                {
                    countries.Add(new KeyValuePair <string, string>(slug, row["name"].ToString()));
                }
                else
                {
                    countries.Add(new KeyValuePair <string, string>(slug, row["lname"].ToString()));
                }
            }

            return(countries.ToArray());
        }
Example #4
0
        public static System.Collections.Generic.List <SurveyNote> GetExcursionNotes(int excursionId)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionSurveyNotes", "note,items", new
            {
                excursion = excursionId
            });

            System.Collections.Generic.List <SurveyNote> result = (
                from DataRow row in ds.Tables["note"].Rows
                select SurveyProvider.factory.SurveyNote(row)).ToList <SurveyNote>();
            System.Collections.Generic.Dictionary <int, SurveyNote> notesDictionary = new System.Collections.Generic.Dictionary <int, SurveyNote>();
            result.ForEach(delegate(SurveyNote m)
            {
                notesDictionary.Add(m.Invitation, m);
            });
            SurveyNote cache = null;

            foreach (DataRow noteRow in ds.Tables["items"].Rows.Cast <DataRow>())
            {
                int invitation = noteRow.ReadInt("invitation");
                if (cache == null || cache.Invitation != invitation)
                {
                    cache = notesDictionary[invitation];
                }
                cache.Notes.Add(new SurveyNoteItem
                {
                    Category = noteRow.ReadNullableTrimmedString("id"),
                    Note     = noteRow.ReadNullableTrimmedString("note")
                });
            }
            return(result);
        }
Example #5
0
        public static ExternalCartAddOrderResult ExternalCart_AddOrder(string language, WebPartner partner, string externalCartId, BookingOrder order)
        {
            if (partner == null)
            {
                throw new System.ArgumentNullException("partner");
            }
            if (order == null)
            {
                throw new System.ArgumentNullException("order");
            }
            BookingClaim claim = new BookingClaim
            {
                orders = new System.Collections.Generic.List <BookingOrder>()
            };

            claim.orders.Add(order);
            XElement xml = BookingProvider.BuildBookingClaimXml(partner.id, claim);
            DataSet  ds  = DatabaseOperationProvider.QueryProcedure("up_guest_ExternalCart_AddOrder", "result", new
            {
                lang      = language,
                OrdersXML = xml,
                CartId    = externalCartId,
                PartPass  = partner.passId
            });

            return((
                       from DataRow row in ds.Tables["result"].Rows
                       select BookingProvider.factory.ExternalCartAddOrderResult(row)).FirstOrDefault <ExternalCartAddOrderResult>());
        }
        public static ExcursionProvider.LoadStatesResult LoadStatesForPoints(string lang, int[] points)
        {
            if (points == null)
            {
                throw new System.ArgumentNullException("points");
            }
            XElement xml = new XElement("geopoints",
                                        from e in points
                                        select new XElement("geopoint", new XAttribute("id", e)));
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getStatesForPoints", "links,states", new
            {
                language = lang,
                points   = xml
            });

            ExcursionProvider.LoadStatesResult result = new ExcursionProvider.LoadStatesResult();
            foreach (DataRow row2 in ds.Tables["links"].Rows.Cast <DataRow>())
            {
                result.Links[row2.ReadInt("pinc")] = row2.ReadInt("sinc");
            }
            result.States = (
                from DataRow row in ds.Tables["states"].Rows
                select ExcursionProvider.factory.StatePoint(row)).ToList <GeoArea>();
            return(result);
        }
Example #7
0
        public static System.Collections.Generic.Dictionary <int, ExcursionRank> GetExcursionsRanking(System.Collections.Generic.IList <int> excursions, string language)
        {
            XElement xml = new XElement("excursions",
                                        from e in excursions
                                        select new XElement("excursion", new XAttribute("id", e)));

            System.Collections.Generic.Dictionary <int, ExcursionRank> result = new System.Collections.Generic.Dictionary <int, ExcursionRank>();
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionsRanking", "ranks", new
            {
                excursions = xml,
                lang       = language
            });

            System.Collections.Generic.IEnumerable <ExcursionRank> ratings =
                from DataRow row in ds.Tables["ranks"].Rows
                select SurveyProvider.factory.ExcursionRank(row);

            foreach (ExcursionRank rating in ratings)
            {
                if (rating.AverageRank.HasValue)
                {
                    result[rating.Excursion] = rating;
                }
            }
            return(result);
        }
 public static void UnlinkGuestClaim(int userId, int claim)
 {
     DatabaseOperationProvider.ExecuteProcedure("up_guest_unlinkGuestClaim", new
     {
         userid = userId,
         claim  = claim
     });
 }
Example #9
0
        public static void SetSurveyResult(SurveyResultsModel survey)
        {
            if (survey == null)
            {
                throw new System.ArgumentNullException("survey");
            }
            XName arg_C4_0 = "surveyResult";

            object[] array = new object[2];
            array[0] = ((survey.guest == null) ? null : new XElement("guest", new object[]
            {
                new XElement("name", survey.guest.name),
                new XElement("sex", survey.guest.sex)
            }));
            object[] arg_C2_0 = array;
            int      arg_C2_1 = 1;

            System.Collections.Generic.IEnumerable <XElement> arg_C2_2;
            if (survey.questions != null)
            {
                arg_C2_2 = survey.questions.Select(delegate(System.Collections.Generic.KeyValuePair <string, SurveyQuestionModel> q)
                {
                    XName arg_105_0   = "question";
                    object[] array2   = new object[4];
                    array2[0]         = new XAttribute("id", q.Key);
                    array2[1]         = (string.IsNullOrEmpty(q.Value.issue) ? null : new XElement("issue", new XAttribute("id", q.Value.issue)));
                    object[] arg_D4_0 = array2;
                    int arg_D4_1      = 2;
                    System.Collections.Generic.IEnumerable <XElement> arg_D4_2;
                    if (q.Value.marks != null)
                    {
                        arg_D4_2 =
                            from m in q.Value.marks
                            where (m.Value ?? "").ToLower() == "on"
                            select new XElement("issue", new XAttribute("id", m.Key));
                    }
                    else
                    {
                        arg_D4_2 = null;
                    }
                    arg_D4_0[arg_D4_1] = arg_D4_2;
                    array2[3]          = ((q.Value.note == null) ? null : new XElement("note", q.Value.note));
                    return(new XElement(arg_105_0, array2));
                });
            }
            else
            {
                arg_C2_2 = null;
            }
            arg_C2_0[arg_C2_1] = arg_C2_2;
            XElement xml    = new XElement(arg_C4_0, array);
            DataSet  result = DatabaseOperationProvider.QueryProcedure("[rating].[up_setSurveyResult]", "result", new
            {
                accesscode = survey.accesscode,
                data       = xml
            });
        }
Example #10
0
        public static string Start()
        {
            DataRowCollection rows = DatabaseOperationProvider.QueryProcedure("up_asyncOperationStart", "result", null).Tables["result"].Rows;

            if (rows.Count > 0)
            {
                return(rows[0].ReadNullableTrimmedString("id"));
            }
            return(null);
        }
        public static string GetUserConfirmationToken(int userId)
        {
            DataSet ds = DatabaseOperationProvider.Query("select ConfirmationToken from [webpages_Membership] where UserId = @userId", "user", new
            {
                userid = userId
            });

            return((
                       from DataRow m in ds.Tables["user"].Rows
                       select m.ReadNullableTrimmedString("ConfirmationToken")).FirstOrDefault <string>());
        }
Example #12
0
        public static InvitationInfo GetInvitationInfo(string accesscode)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("[rating].[up_getInvitationInfo]", "invitation", new
            {
                accesscode
            });

            return((
                       from DataRow row in ds.Tables["invitation"].Rows
                       select SurveyProvider.factory.InvitationInfo(row)).FirstOrDefault <InvitationInfo>());
        }
Example #13
0
        public static System.Collections.Generic.List <PaymentMode> GetPaymentModes(string language, int claimId)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getPaymentModes", "modes", new
            {
                claimid  = claimId,
                language = language
            });

            return((
                       from DataRow row in ds.Tables["modes"].Rows
                       select BookingProvider.factory.PaymentMode(row)).ToList <PaymentMode>());
        }
        public static System.Collections.Generic.List <ExcursionTransfer> GetExcursionTransferByClaim(string lang, int claim)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionTransferByClaim", "transfer", new
            {
                language = lang,
                claimid  = claim
            });

            return((
                       from DataRow row in ds.Tables["transfer"].Rows
                       select GuestProvider.factory.ExcursionTransfer(row)).ToList <ExcursionTransfer>());
        }
Example #15
0
        public static HotelCatalogObject GetHotelDescription(string lang, int hotelId)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getHotelDescription", "hotels", new
            {
                language = lang,
                hotelId  = hotelId
            });

            return((
                       from DataRow m in ds.Tables["hotels"].Rows
                       select CatalogProvider.factory.HotelCatalogObject(m)).FirstOrDefault <HotelCatalogObject>());
        }
Example #16
0
        public static PaymentBeforeProcessingResult BeforePaymentProcessing(string language, string paymentparam)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_PayProcessing_Before", "processing", new
            {
                paymentparam,
                language
            });

            return((
                       from DataRow row in ds.Tables["processing"].Rows
                       select BookingProvider.factory.PaymentBeforeProcessingResult(row)).FirstOrDefault <PaymentBeforeProcessingResult>());
        }
Example #17
0
        public static System.Collections.Generic.List <GeoCatalogObject> GetGeoPoints(string lang, string searchName)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getGeoCatalogObjects", "geopoint", new
            {
                language = lang,
                name     = searchName
            });

            return((
                       from DataRow row in ds.Tables["geopoint"].Rows
                       select CatalogProvider.factory.GeoCatalogObject(row)).ToList <GeoCatalogObject>());
        }
        public static System.Collections.Generic.List <CategoryWithGroup> GetCategories(string lang, int?startPoint)
        {
            System.Collections.Generic.List <CategoryWithGroup> result = new System.Collections.Generic.List <CategoryWithGroup>();
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionCategories", "categories", new
            {
                language   = lang,
                startpoint = startPoint
            });

            return((
                       from DataRow row in ds.Tables["categories"].Rows
                       select ExcursionProvider.factory.CategoryWithGroup(row)).ToList <CategoryWithGroup>());
        }
Example #19
0
        private static string GetExcursionIncluded(int id, string lang)
        {
            var res = DatabaseOperationProvider.Query("select name, lname from extype where inc in (select extype from exreqserv where excurs = @excID)", "services", new { excID = id });

            var list = new List <string>();

            foreach (DataRow row in res.Tables["services"].Rows)
            {
                list.Add(row.ReadNullableTrimmedString(lang.ToUpper() == "RU" ? "name" : "lname"));
            }

            return(string.Join(", ", list));
        }
Example #20
0
        private static string GetAgencyName(int claimId)
        {
            var res = DatabaseOperationProvider.Query("select c.name from guestservice_UserProfile as b, guestservice_claim as a, partner as c where a.claim = @claimId and b.userId=a.userId and b.partnerId = c.inc", "agent", new { claimId = claimId });

            if (res.Tables["agent"].Rows.Count == 0)
            {
                return("");
            }
            else
            {
                return(res.Tables["agent"].Rows[0].ReadNullableTrimmedString("name"));
            }
        }
Example #21
0
        public static CompleteOperationResult GetResult(string id)
        {
            DataRowCollection rows = DatabaseOperationProvider.QueryProcedure("up_asyncOperationGetResult", "result", new { id = id }).Tables["result"].Rows;

            if (rows.Count > 0)
            {
                DataRow row = rows[0];
                return(new CompleteOperationResult {
                    Id = row.ReadNullableTrimmedString("id"), ResultDate = row.ReadUnspecifiedDateTime("rdate"), DataType = row.ReadNullableTrimmedString("dtype"), Data = row.ReadNullableString("data")
                });
            }
            return(null);
        }
Example #22
0
        //добавить язык
        private static void AddClaimForUser(int claimId, string lang)
        {
            var dataset = DatabaseOperationProvider.Query("select user_id from guestservice_alias, claim where inc=@claimId and alias = note ", "users", new { claimId = claimId });

            int userId = 1;

            if (dataset.Tables["users"].Rows.Count > 0)
            {
                userId = dataset.Tables["users"].Rows[0].ReadInt("user_id");
            }

            DatabaseOperationProvider.Query("insert into guestservice_claim values(@userId, @claimId, @lang)", "customer", new { userId = userId, claimId = claimId, lang = lang });
        }
 public static void LinkGuestClaim(int userId, string name, int claim)
 {
     System.Collections.Generic.List <GuestClaim> claims = GuestProvider.FindGuestClaims("", userId, name, new int?(claim), null);
     if (claims != null && claims.FirstOrDefault((GuestClaim m) => m.claim == claim) != null)
     {
         DatabaseOperationProvider.ExecuteProcedure("up_guest_linkGuestClaim", new
         {
             userid = userId,
             claim  = claim
         });
         return;
     }
     throw new ExceptionWithCode(203, string.Format("claim {0} not found", claim));
 }
        public static System.Collections.Generic.List <ExcursionDate> GetDates(int partner, int excursionId, System.DateTime dateFrom, System.DateTime dateTill)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_GetExcursionDates", "dates", new
            {
                partner = partner,
                excurs  = excursionId,
                dateBeg = dateFrom,
                dateEnd = dateTill
            });

            return((
                       from DataRow row in ds.Tables["dates"].Rows
                       select ExcursionProvider.factory.ExcursionDate(row)).ToList <ExcursionDate>());
        }
Example #25
0
        public static WebPartner FindPartnerByOnlineSID(string sid)
        {
            if (string.IsNullOrEmpty(sid))
            {
                throw new ArgumentNullExceptionWithCode(215, "sid");
            }
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_findPartnerByOnlineSID", "partner", new
            {
                sid
            });

            return((
                       from DataRow row in ds.Tables["partner"].Rows
                       select UserToolsProvider.factory.OnlinePartner(row)).FirstOrDefault <WebPartner>());
        }
        public static System.Collections.Generic.List <ExcursionPrice> GetPrice(string lang, int partner, int excursionId, System.DateTime date, int?startPoint)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionPrice", "prices", new
            {
                language    = lang,
                partner     = partner,
                startpoint  = startPoint,
                excursionId = excursionId,
                date        = date.Date
            });

            return((
                       from DataRow row in ds.Tables["prices"].Rows
                       select ExcursionProvider.factory.ExcursionPrice(row, date)).ToList <ExcursionPrice>());
        }
        public static System.Collections.Generic.List <ExcursionPickupHotel> GetExcursionPickupHotels(string lang, int excursion, int?excursionTime, int[] departurePoints)
        {
            string  depaturepoints = (departurePoints != null && departurePoints.Length > 0) ? string.Join <int>(",", departurePoints) : null;
            DataSet ds             = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionHotelPickup", "hotels", new
            {
                language       = lang,
                excurs         = excursion,
                extime         = excursionTime,
                depaturepoints = depaturepoints
            });

            return((
                       from DataRow row in ds.Tables["hotels"].Rows
                       select ExcursionProvider.factory.ExcursionPickupHotel(row)).ToList <ExcursionPickupHotel>());
        }
Example #28
0
        public static ExcursionRankInfo GetExcursionRanking(int excursionId, string language)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionRanking", "ranks,characteristics", new
            {
                excursion = excursionId,
                lang      = language
            });
            ExcursionRankInfo result = (
                from DataRow row in ds.Tables["ranks"].Rows
                select SurveyProvider.factory.ExcursionRankInfo(row)).FirstOrDefault <ExcursionRankInfo>();

            result.Characteristics = (
                from DataRow row in ds.Tables["characteristics"].Rows
                select SurveyProvider.factory.CharacteristicRank(row)).ToList <CharacteristicRank>();
            return(result);
        }
        public static SearchExcursionResult SearchExcursionObjects(string lang, int?startPoint, string searchText, int limit)
        {
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getExcursionObjects", "geopoints", new
            {
                language   = lang,
                startpoint = startPoint,
                searchtext = searchText,
                topcount   = limit
            });
            SearchExcursionResult result = new SearchExcursionResult();

            result.geography = (
                from DataRow row in ds.Tables["geopoints"].Rows
                select ExcursionProvider.factory.SearchGeography(row)).ToList <SearchGeography>();
            return(result);
        }
Example #30
0
        public static HotelCatalogObject GetHotelDescription(string lang, string hotel)
        {
            if (string.IsNullOrEmpty(hotel))
            {
                throw new System.ArgumentNullException("hotel");
            }
            DataSet ds = DatabaseOperationProvider.QueryProcedure("up_guest_getHotelDescription", "hotels", new
            {
                language = lang,
                hotelKey = hotel
            });

            return((
                       from DataRow m in ds.Tables["hotels"].Rows
                       select CatalogProvider.factory.HotelCatalogObject(m)).FirstOrDefault <HotelCatalogObject>());
        }