public JsonResult AddTour(TourModel Model)
        {
            string error = "";

            if (ModelState.IsValid)
            {
                int ClientId    = GetClientId(Model.ClientName);
                int ExcursionId = GetExcursionId(Model.ExcursionName);

                OrderedTour objTour = new OrderedTour
                {
                    Date        = Model.Date,
                    ClientId    = ClientId,
                    ExcursionId = ExcursionId
                };
                int orderedTourId = OrderedTourManager.AddNewTour(objTour);
                if (orderedTourId > -1)
                {
                    for (int i = 0; i < Model.ExcursionSight.Count; i++)
                    {
                        var excursionSightId = GetExcursionSightId(Model.ExcursionSight[i], ExcursionId);

                        AddExcursionSight(orderedTourId, excursionSightId, i);
                    }
                }
            }
            else
            {
                error = "Form is incorrect.";
                return(Json(new { status = false, error }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { status = true, error }, JsonRequestBehavior.AllowGet));
        }
        public static OrderedTour_ExcursionSight AddExcursionSight(int orderedTourId, int?ExcursionSightId, int OrdinalNumber)
        {
            OrderedTour_ExcursionSight objExcursionSightToOrderedTour = new OrderedTour_ExcursionSight
            {
                OrderedTourId    = orderedTourId,
                ExcursionSightId = ExcursionSightId,
                OrdinalNumber    = OrdinalNumber
            };

            return(OrderedTourManager.AddNewExcursionSightToOrederedTour(objExcursionSightToOrderedTour));
        }
        public ActionResult Edit(TourModel Model)
        {
            string error = "";

            try
            {
                if (ModelState.IsValid)
                {
                    int ClientId    = GetClientId(Model.ClientName);
                    int ExcursionId = GetExcursionId(Model.ExcursionName);

                    OrderedTourManager.EditTourInfo(Model.OrderedTourId, Model.Date, ClientId, ExcursionId);
                    List <OrderedTour_ExcursionSight> excursionSight = excMan.GetExcursionSightInfo(Model.OrderedTourId);

                    var Count = excursionSight.Count > Model.ExcursionSight.Count ? excursionSight.Count : Model.ExcursionSight.Count;

                    int?excursionSightId;
                    for (int i = 0; i < Count; i++)
                    {
                        try
                        {
                            excursionSightId = (int)GetExcursionSightId(Model.ExcursionSight[i], ExcursionId);
                        }
                        catch
                        {
                            excursionSightId = null;
                        }


                        OrderedTour_ExcursionSight ExcursionSightToOrderedTour = OrderedTourManager.GetExcursionSightId(i, Model.OrderedTourId);
                        if (ExcursionSightToOrderedTour != null)
                        {
                            OrderedTourManager.EditExcursionIdinOrderedTour(ExcursionSightToOrderedTour, excursionSightId);
                        }
                        else
                        {
                            AddExcursionSight(Model.OrderedTourId, excursionSightId, i);
                        }
                    }
                }
                else
                {
                    error = "Form is incorrect.";
                    return(Json(new { status = false, error }, JsonRequestBehavior.AllowGet));
                }
                return(Json(new { status = true, error }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                error = "Error occured:" + ex.Message;
                return(Json(new { status = false, error }, JsonRequestBehavior.AllowGet));
            }
        }