示例#1
0
        public VehicleModel GetByMakeAndModelCode(string makeCode, string modelCode)
        {
            var model = GetFromCache(makeCode, modelCode);

            if (model == null)
            {
                Vehicle vehicle = null;
                using (var context = new VehicleEntities())
                {
                    vehicle = context.Vehicles.Include("Model")
                              .Include("Model.Make")
                              .FirstOrDefault(x => x.Model.ModelCode == modelCode && x.Model.MakeCode == makeCode);
                }
                if (vehicle == null)
                {
                    throw new HttpResponseException(HttpStatusCode.NotFound);
                }
                model = new VehicleModel()
                {
                    ImageUrl        = vehicle.ImageUrl,
                    Make            = vehicle.Model.Make.MakeName,
                    Model           = vehicle.Model.ModelName,
                    ProducedFromUtc = vehicle.ProducedFromUtc,
                    ProducedToUtc   = vehicle.ProducedToUtc
                };
                PutToCache(model, makeCode, modelCode);
            }
            return(model);
        }
        public void AddPhone(int custID, string phoneType, string phoneNumber)
        {
            using (var context = new VehicleEntities())
            {
                PhoneNumber queryAdd = new PhoneNumber
                {
                    customerID = custID,
                    phoneType  = phoneType,
                    number     = phoneNumber
                };
                try
                {
                    context.PhoneNumbers.AddObject(queryAdd);
                    context.SaveChanges();
                    // if context.SaveChanges() succeeded add text to the label Add -> lbl.Add.Text
                    // lblAdd.Text += string.Format("<br/>Added: number {0} of type: {1}", queryAdd.number.ToString(), queryAdd.phoneType);
                    //if context.savechanges() succeded then delete phone only if old values are DIFFERENT then new values
                    // Delete phone !only! if NEW values AREN'T same as OLD values!!
                    phoneTypeOld   = ViewState["phoneTypeOld"].ToString();
                    phoneNumberOld = ViewState["phoneNumberOld"].ToString();

                    if (phoneType != phoneTypeOld || phoneNumber != phoneNumberOld)
                    {
                        DeletePhone(custID, phoneTypeOld, phoneNumberOld);
                    }
                }
                catch (OptimisticConcurrencyException ocex)
                {
                    // Resolve the concurrency conflict by refreshing the
                    // object context before re-saving changes
                    context.Refresh(RefreshMode.StoreWins, queryAdd);
                    lblAdd.Text = ocex.ToString();
                    //throw;
                }
                catch (InvalidOperationException ioex)
                {
                    context.Refresh(RefreshMode.StoreWins, queryAdd);
                    lblAdd.Text = ioex.ToString();
                }

                catch (SqlException sqlexc)
                {
                    context.Refresh(RefreshMode.StoreWins, queryAdd);
                    lblAdd.Text = sqlexc.ToString();
                }

                catch (Exception)
                {
                    if (phoneType == phoneTypeOld && phoneNumber == phoneNumberOld)
                    {
                        lblAdd.Text = "";
                    }
                    else
                    {
                        lblAdd.Text = "Error while trying to update record. The object could not be added." +
                                      "Make sure that the same phone does not aleady exist.";
                    }
                }
            }
        }
示例#3
0
 /// <summary>
 /// DriverInfoEditSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string DriverInfoEditSave(DriveInfoModel Model, string LoginUserID, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_UserMaster.Where(t => t.RID == RID).FirstOrDefault();
         List.username = Model.Driver_Name;
         List.tel      = Model.Driver_Tel;
         List.userid   = Model.Driver_Number;
         List.text3    = Model.CarInfo;
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
示例#4
0
 /// <summary>
 /// LocationInfodelete
 /// </summary>
 /// <param name="deleteItem"></param>
 /// <returns></returns>
 public static string LocationInfodelete(string deleteItem)
 {
     string[] ridArr = deleteItem.Split(',');
     using (var db = new VehicleEntities())
     {
         foreach (var ds in ridArr)
         {
             string Rid   = ds;
             var    model = db.T_Location.FirstOrDefault(p => p.RID == Rid);
             db.DeleteObject(model);
         }
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "刪除成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "刪除失败"
             }));
         }
     }
 }
示例#5
0
 /// <summary>
 /// 新增存儲
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <returns></returns>
 public static string UserAddSave(UserModel Model)
 {
     using (var db = new VehicleEntities())
     {
         T_UserMaster List = new T_UserMaster();
         List.name     = Model.name;
         List.userid   = Model.userid;
         List.username = Model.username;
         List.type     = Model.type;
         List.tel      = Model.tel;
         List.text1    = "CN";
         List.RID      = Guid.NewGuid().ToString();
         db.AddToT_UserMaster(List);
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
 /// <summary>
 /// 作廢
 /// </summary>
 /// <param name="deleteItem"></param>
 /// <returns></returns>
 public static string Planremove(string removeItem)
 {
     string[] ridArr = removeItem.Split(',');
     using (var db = new VehicleEntities())
     {
         foreach (var ds in ridArr)
         {
             string planID   = ds;
             var    Planitem = db.M_Plan.FirstOrDefault(p => p.planID == planID && p.valid == "1");
             Planitem.valid = "0";
         }
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "作廢成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "作廢失败"
             }));
         }
     }
 }
 /// <summary>
 /// CarInfoAddSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <returns></returns>
 public static string CarInfoAddSave(CarInfoModel Model, string LoginUserID)
 {
     using (var db = new VehicleEntities())
     {
         T_Car List = new T_Car();
         List.CreateUser  = LoginUserID;
         List.CreateDate  = Convert.ToDateTime(Model.Create_Time);
         List.LastUpdDate = Convert.ToDateTime(Model.Create_Time);
         List.LastUpdUser = LoginUserID;
         List.seatNum     = Convert.ToInt32(Model.seatNum);
         List.carID       = Model.carID;
         List.carName     = Model.carName;
         List.RID         = Guid.NewGuid().ToString();
         db.AddToT_Car(List);
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
示例#8
0
 /// <summary>
 /// 更新存儲
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string UserEditSave(UserModel Model, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_UserMaster.Where(t => t.RID == RID).FirstOrDefault();
         List.name     = Model.name;
         List.username = Model.username;
         List.type     = Model.type;
         List.userid   = Model.userid;
         List.tel      = Model.tel;
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "更新成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "更新失败"
             }));
         }
     }
 }
 /// <summary>
 /// CarInfoEditSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string CarInfoEditSave(CarInfoModel Model, string LoginUserID, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_Car.Where(t => t.RID == RID).FirstOrDefault();
         List.LastUpdDate = DateTime.Now;
         List.LastUpdUser = LoginUserID;
         List.seatNum     = Convert.ToInt32(Model.seatNum);
         List.carID       = Model.carID;
         List.type        = Model.type;
         List.carName     = Model.carName;
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
 public static void Run()
 {
     try
     {
         Log.Debug("QuotePricePreloader.Run starting");
         var ids = new List <int>();
         using (var entities = new VehicleEntities())
         {
             ids.AddRange(entities.Vehicles.Select(x => x.VehicleId));
         }
         var postalCodes = new List <string>();
         using (var pricing = new PricingEntities())
         {
             postalCodes.AddRange(pricing.PricingFactors.Where(x => x.PricingFactorType.PricingFactorTypeCode == "POC").Select(x => x.AppliesTo));
         }
         var quoteTasks = new List <Task>();
         var stopwatch  = Stopwatch.StartNew();
         foreach (var id in ids)
         {
             foreach (var postalCode in postalCodes)
             {
                 var tId         = id;
                 var tPostalCode = postalCode;
                 quoteTasks.Add(Task.Factory.StartNew(() => PreloadQuotePrice(tId, tPostalCode)));
             }
         }
         Log.Debug("QuotePricePreloader.Run fetching prices for: {0} quotes", quoteTasks.Count);
         Task.WaitAll(quoteTasks.ToArray());
         Log.Debug("QuotePricePreloader.Run fetched prices for: {0} quotes, in: {1}ms", quoteTasks.Count, stopwatch.ElapsedMilliseconds);
     }
     catch (Exception ex)
     {
         Log.Error(ex, "QuotePricePreloader.Run failed");
     }
 }
示例#11
0
 /// <summary>
 /// LocationInfoEditSave
 /// </summary>
 /// <param name="Model"></param>
 /// <param name="LoginUserID"></param>
 /// <param name="RID"></param>
 /// <returns></returns>
 public static string LocationInfoEditSave(LocationInfoModel Model, string LoginUserID, string RID)
 {
     using (var db = new VehicleEntities())
     {
         var List = db.T_Location.Where(t => t.RID == RID).FirstOrDefault();
         List.LastUpdDate = DateTime.Now;
         List.LastUpdUser = LoginUserID;
         List.name        = Model.name;
         List.longitude   = Model.longitude;
         List.latitude    = Model.latitude;
         if (Model.Radius != "")
         {
             List.Radius = Convert.ToInt32(Model.Radius);
         }
         int success = db.SaveChanges();
         if (success > 0)
         {
             ViewModel.Result result = new Result();
             result.success = true;
             result.message = "保存成功";
             return(JsonConvert.SerializeObject(result));
         }
         else
         {
             return(JsonConvert.SerializeObject(new ViewModel.Result()
             {
                 success = true, message = "保存失败"
             }));
         }
     }
 }
 /// <summary>
 /// 獲取乘客表
 /// </summary>
 /// <returns></returns>
 public static string GetPassengerGrid(string planID)
 {
     using (var db = new VehicleEntities())
     {
         var rst = db.D_PassengerList.Where(t => t.planID == planID);
         return(JsonConvert.SerializeObject(rst.OrderBy(t => t.locationID).ThenBy(t => t.destinationID)));
     }
 }
 /// <summary>
 /// 獲取站點表
 /// </summary>
 /// <returns></returns>
 public static string GetstepGrid(string planID)
 {
     using (var db = new VehicleEntities())
     {
         var rst = db.D_RoadList.Where(t => t.planID == planID);
         return(JsonConvert.SerializeObject(rst.OrderBy(t => t.sequence)));
     }
 }
        /// <summary>
        /// 主檔搜索
        /// </summary>
        /// <param name="row"></param>
        /// <param name="page"></param>
        /// <param name="Model"></param>
        /// <returns></returns>
        public static string PlanSearch(int row, int page, PlanSearchModel Model)
        {
            DateTime?Begin_Date;
            DateTime?End_Date;
            int?     status;

            if (Model.BeginDate != "")
            {
                Begin_Date = Convert.ToDateTime(Model.BeginDate);
            }
            else
            {
                Begin_Date = null;
            }
            if (Model.EndData != "")
            {
                End_Date = Convert.ToDateTime(Model.EndData);
            }
            else
            {
                End_Date = null;
            }
            if (Model.status != "")
            {
                status = Convert.ToInt32(Model.status);
            }
            else
            {
                status = null;
            }



            using (var db = new VehicleEntities())
            {
                var Searchlist = from hdr in db.vw_Plan.Where(p =>
                                                              (p.LastUpdDate >= Begin_Date || Begin_Date == null) &&
                                                              (p.LastUpdDate <= End_Date || End_Date == null) &&
                                                              (p.carID == Model.carID || string.IsNullOrEmpty(Model.carID)) &&
                                                              (p.driverID == Model.driverID || string.IsNullOrEmpty(Model.driverID)) &&
                                                              (p.status == status || string.IsNullOrEmpty(Model.status))
                                                              ).OrderByDescending(p => p.LastUpdDate).Skip((page - 1) * row).Take(row)
                                 select hdr;
                var AllList = from hdr in db.vw_Plan.Where(p =>
                                                           (p.LastUpdDate >= Begin_Date || Begin_Date == null) &&
                                                           (p.LastUpdDate <= End_Date || End_Date == null) &&
                                                           (p.carID.Contains(Model.carID) || string.IsNullOrEmpty(Model.carID)) &&
                                                           (p.driverID.Contains(Model.driverID) || string.IsNullOrEmpty(Model.driverID)) &&
                                                           (p.status == status || string.IsNullOrEmpty(Model.status))
                                                           ).OrderByDescending(p => p.LastUpdDate)
                              select hdr;
                var    total    = AllList.Count();
                string JsonGrid = JsonConvert.SerializeObject(new { total = total, rows = Searchlist });
                return(JsonGrid);
            }
        }
 /// <summary>
 /// 獲取主檔
 /// </summary>
 /// <param name="row"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public static string GetPlanDataGrid(int row, int page)
 {
     using (var db = new VehicleEntities())
     {
         var    list     = db.vw_Plan.Where(t => true).OrderByDescending(t => t.time).ThenByDescending(t => t.planID).Skip((page - 1) * row).Take(row);
         var    total    = db.vw_Plan.Count();
         string JsonGrid = JsonConvert.SerializeObject(new { total = total, rows = list });
         return(JsonGrid);
     }
 }
 /// <summary>
 /// 返回乘客列表
 /// </summary>
 /// <param name="PlanID"></param>
 /// <returns></returns>
 public static string GetMainDtlGridData(string PlanID)
 {
     using (var db = new VehicleEntities())
     {
         var MainModel = db.M_Plan.Where(t => t.planID == PlanID && t.valid == "1");
         var MainRID   = MainModel.FirstOrDefault().RID;
         var DtlModel  = db.vw_PassengerList.Where(t => t.PlanRID == MainRID);
         return(JsonConvert.SerializeObject(DtlModel.OrderBy(t => t.locationID).ThenBy(t => t.destinationID)));
     }
 }
示例#17
0
 /// <summary>
 /// GetLocationInfoDataGrid
 /// </summary>
 /// <param name="row"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public static string GetLocationInfoDataGrid(int row, int page)
 {
     using (var db = new VehicleEntities())
     {
         var    list     = db.T_Location.Where(t => true).OrderByDescending(t => t.LastUpdDate).Skip((page - 1) * row).Take(row);
         var    total    = db.T_Location.Count();
         string JsonGrid = JsonConvert.SerializeObject(new { total = total, rows = list });
         return(JsonGrid);
     }
 }
 public void DeletePhone(int custID, string phoneType, string phoneNumber)
 {
     using (var context = new VehicleEntities())
     {
         PhoneNumber queryDelete = new PhoneNumber();
         queryDelete = context.PhoneNumbers.First(p => p.customerID == custID && p.phoneType == phoneType && p.number == phoneNumber);
         context.DeleteObject(queryDelete);
         context.SaveChanges();
     }
 }
示例#19
0
 /// <summary>
 /// GetDriveInfoDataGrid
 /// </summary>
 /// <param name="row"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public static string GetDriveInfoDataGrid(int row, int page)
 {
     using (var db = new VehicleEntities())
     {
         var    list     = db.T_UserMaster.Where(t => t.type == "driver").OrderByDescending(t => t.username).Skip((page - 1) * row).Take(row);
         var    total    = db.T_UserMaster.Where(t => t.type == "driver").Count();
         string JsonGrid = JsonConvert.SerializeObject(new { total = total, rows = list });
         return(JsonGrid);
     }
 }
示例#20
0
 /// <summary>
 /// 獲取公司信息
 /// </summary>
 /// <returns></returns>
 public static string GetCompany()
 {
     using (var db = new VehicleEntities())
     {
         var rst =
             from hdr in db.T_SystemTable.Where(t => t.Field == "company" && t.Dataid != " ")
             select new { text = hdr.Text, value = hdr.Dataid };
         return(JsonConvert.SerializeObject(rst));
     }
 }
示例#21
0
 /// <summary>
 /// 獲取車輛信息
 /// </summary>
 /// <returns></returns>
 public static string GetCarInfo()
 {
     using (var db = new VehicleEntities())
     {
         var rst =
             from hdr in db.T_Car
             select new { order = hdr.LastUpdDate, carname = hdr.carName, capacity = hdr.seatNum, license = hdr.carID };
         return(JsonConvert.SerializeObject(rst.OrderByDescending(t => t.order)));
     }
 }
        public Vehicle GetVehicle(int id)
        {
            Vehicle vehicle = null;

            using (var context = new VehicleEntities())
            {
                vehicle = context.Vehicles.Include("Model")
                          .Include("Model.Make")
                          .FirstOrDefault(x => x.VehicleId == id);
            }
            return(vehicle);
        }
示例#23
0
        /// <summary>
        /// CarInfoSearch
        /// </summary>
        /// <param name="row"></param>
        /// <param name="page"></param>
        /// <param name="Model"></param>
        /// <returns></returns>
        public static string CarInfoSearch(int row, int page, CarInfoModel Model)
        {
            DateTime?Begin_Date;
            DateTime?End_Date;
            int      seatNum = 0;

            if (Model.Create_Time != "")
            {
                Begin_Date = Convert.ToDateTime(Model.Create_Time);
            }
            else
            {
                Begin_Date = null;
            }
            if (Model.Create_Time_E != "")
            {
                End_Date = Convert.ToDateTime(Model.Create_Time_E);
            }
            else
            {
                End_Date = null;
            }
            if (Model.seatNum != "")
            {
                seatNum = Convert.ToInt32(Model.seatNum);
            }

            using (var db = new VehicleEntities())
            {
                var Searchlist = from hdr in db.T_Car.Where(p =>
                                                            (p.LastUpdDate >= Begin_Date || Begin_Date == null) &&
                                                            (p.LastUpdDate <= End_Date || End_Date == null) &&
                                                            (p.carID.Contains(Model.carID) || string.IsNullOrEmpty(Model.carID)) &&
                                                            (p.carName.Contains(Model.carName) || string.IsNullOrEmpty(Model.carName)) &&
                                                            (p.seatNum == seatNum || string.IsNullOrEmpty(Model.seatNum)) &&
                                                            (p.seatNum != 0)
                                                            ).OrderByDescending(p => p.LastUpdDate).Skip((page - 1) * row).Take(row)
                                 select hdr;
                var AllList = from hdr in db.T_Car.Where(p =>
                                                         (p.LastUpdDate >= Begin_Date || Begin_Date == null) &&
                                                         (p.LastUpdDate <= End_Date || End_Date == null) &&
                                                         (p.carID.Contains(Model.carID) || string.IsNullOrEmpty(Model.carID)) &&
                                                         (p.carName.Contains(Model.carName) || string.IsNullOrEmpty(Model.carName)) &&
                                                         (p.seatNum == seatNum || string.IsNullOrEmpty(Model.seatNum)) &&
                                                         (p.seatNum != 0)
                                                         ).OrderByDescending(p => p.LastUpdDate)
                              select hdr;
                var    total    = AllList.Count();
                string JsonGrid = JsonConvert.SerializeObject(new { total = total, rows = Searchlist });
                return(JsonGrid);
            }
        }
 /// <summary>
 /// 獲取站點
 /// </summary>
 /// <returns></returns>
 public static string Getstep()
 {
     using (var db = new VehicleEntities())
     {
         var rst = from hdr in db.T_Location
                   select new
         {
             value = hdr.locationID,
             text  = hdr.name
         };
         return(JsonConvert.SerializeObject(rst));
     }
 }
        public List <Vehicle> GetVehicles(string makeName, string modelName)
        {
            var vehicles = new List <Vehicle>();

            using (var context = new VehicleEntities())
            {
                vehicles.AddRange(context.Vehicles.Include("Model")
                                  .Include("Model.Make")
                                  .Where(x => x.Model.ModelNameLower == modelName.Trim().ToLower() &&
                                         x.Model.Make.MakeNameLower == makeName.Trim().ToLower()).ToList());
            }
            return(vehicles);
        }
        public virtual IEnumerable <Make> GetMakes()
        {
            Log.Debug("VehicleRepository.GetMakes called");
            var makes = new List <Make>();

            using (var context = new VehicleEntities())
            {
                context.Configuration.LazyLoadingEnabled = false;
                makes.AddRange(context.Makes);
            }
            Log.Debug("VehicleRepository.GetMakes completed");
            return(makes);
        }
示例#27
0
 /// <summary>
 /// 獲取用戶類型
 /// </summary>
 /// <returns></returns>
 public static string GetUserType()
 {
     using (var db = new VehicleEntities())
     {
         var rst = from hdr in db.T_UserMaster
                   select new
         {
             value = hdr.type,
             text  = hdr.type
         };
         return(JsonConvert.SerializeObject(rst.Distinct()));
     }
 }
 /// <summary>
 /// 獲取乘客
 /// </summary>
 /// <returns></returns>
 public static string Getpassenger()
 {
     using (var db = new VehicleEntities())
     {
         var rst = from hdr in db.T_UserMaster.Where(t => t.type == "passenger" || t.type == "Admin")
                   select new
         {
             value = hdr.userid,
             text  = hdr.name,
         };
         return(JsonConvert.SerializeObject(rst));
     }
 }
 /// <summary>
 /// 獲取乘客狀態
 /// </summary>
 /// <returns></returns>
 public static string Getpassengerstatus()
 {
     using (var db = new VehicleEntities())
     {
         var rst = from hdr in db.T_SystemTable.Where(t => t.Field == "PassengerState")
                   select new
         {
             value = hdr.Dataid,
             text  = hdr.Text
         };
         return(JsonConvert.SerializeObject(rst.OrderBy(t => t.value)));
     }
 }
 /// <summary>
 /// 獲取司機
 /// </summary>
 /// <returns></returns>
 public static string GetdriverID()
 {
     using (var db = new VehicleEntities())
     {
         var rst = from hdr in db.T_UserMaster.Where(t => t.type == "driver")
                   select new
         {
             value = hdr.userid,
             text  = hdr.username
         };
         return(JsonConvert.SerializeObject(rst));
     }
 }