Пример #1
0
        public EmployeeProcessingJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager,
                                                  IDeleteEntityService deleteEntityService, ILifetimeScope autofacScope,
                                                  NormRepository normRepository, BaseParameters baseParameters, IDataBaseInfo dataBaseInfo,
                                                  ICurrentPermissionService currentPermissionService = null)
            : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
        {
            UseSlider           = false;
            Title               = "Корректировка сотрудников";
            this.interactive    = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService));
            this.normRepository = normRepository ?? throw new ArgumentNullException(nameof(normRepository));
            this.baseParameters = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.dataBaseInfo   = dataBaseInfo ?? throw new ArgumentNullException(nameof(dataBaseInfo));
            AutofacScope        = autofacScope;
            JournalFilter       = Filter = AutofacScope.Resolve <EmployeeFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this));

            //Обход проблемы с тем что SelectionMode одновременно управляет и выбором в журнале, и самим режимом журнала.
            //То есть создает действие выбора. Удалить после того как появится рефакторинг действий журнала.
            SelectionMode = JournalSelectionMode.Multiple;
            NodeActionsList.Clear();
            CreateActions();

            (DataLoader as ThreadDataLoader <EmployeeProcessingJournalNode>).PostLoadProcessingFunc = delegate(System.Collections.IList items, uint addedSince) {
                foreach (EmployeeProcessingJournalNode item in items)
                {
                    if (Results.ContainsKey(item.Id))
                    {
                        item.Result = Results[item.Id];
                    }
                }
            };
        }
Пример #2
0
        public List <Tranday_Info> GetTransactionByAccount(string accountId, DateTime dateFrom, DateTime dateTo)
        {
            if (string.IsNullOrEmpty(accountId))
            {
                throw new Exception("Account Id is null or empty");
            }
            if (dateFrom == DateTime.MinValue)
            {
                throw new Exception("Invalid date from");
            }
            if (dateTo == DateTime.MinValue)
            {
                throw new Exception("Invalid date to");
            }
            if (dateFrom > dateTo)
            {
                throw new Exception("invalid date from > date to");
            }
            List <Tranday_Info> list;

            if ((dateFrom == dateTo) && (dateTo == BaseParameters.ToDay().TransDate))
            {
                // ngày giao dịch hiện tại
                list = base.GetTrandayByAccount(accountId);
            }
            else
            {
                list = base.GetTranAllByAccount(accountId, dateFrom, dateTo);
            }
            return(list);
        }
        protected AnimatorTransitionBase(AssetLayout layout, AssetInfo assetInfo, BaseParameters parameters) :
            base(layout)
        {
            AssetInfo       = assetInfo;
            ObjectHideFlags = HideFlags.HideInHierarchy;

            List <AnimatorCondition> conditionList = new List <AnimatorCondition>(parameters.ConditionConstants.Count);

            for (int i = 0; i < parameters.ConditionConstants.Count; i++)
            {
                ConditionConstant conditionConstant = parameters.ConditionConstants[i].Instance;
                if (conditionConstant.ConditionMode != AnimatorConditionMode.ExitTime)
                {
                    AnimatorCondition condition = new AnimatorCondition(conditionConstant, parameters.TOS);
                    conditionList.Add(condition);
                }
            }
            Conditions = conditionList.ToArray();

            AnimatorState state = parameters.GetDestinationState();

            DstStateMachine = default;

            DstState = state == null ? default : state.File.CreatePPtr(state);

                       Name   = parameters.Name;
                       Solo   = false;
                       Mute   = false;
                       IsExit = parameters.IsExit;
        }
Пример #4
0
        public ActionResult RebateDetail_nh(string dattype)
        {
            ViewData["dattype"] = dattype;

            ViewBag.GetOrderRateMaxPrice = BaseParameters.getPrice("GetOrderRateMaxPrice");//拿货返利门槛金额
            return(View());
        }
Пример #5
0
        public override IEnumerable <INotation> GetMembers()
        {
            yield return(CustomAttributes.InsertBlank().Combine());

            yield return(Accessibility.ToDisplayString().ToNotation());

            yield return(ConstNotations.Blank);

            yield return(Name.ToNotation());

            yield return(ConstNotations.OpenParen);

            yield return(BaseParameters.Union(Parameters).InsertComma().Combine());

            yield return(ConstNotations.CloseParen);

            if (HasBase)
            {
                yield return(ConstNotations.Colon);

                yield return(ConstNotations.Base);

                yield return(ConstNotations.OpenParen);

                yield return(BaseParameters.Select(i => i.ToCallParameter()).InsertComma().Combine());

                yield return(ConstNotations.CloseParen);
            }
            yield return(ConstNotations.OpenBrace);

            yield return(Body.Combine());

            yield return(ConstNotations.CloseBrace);
        }
Пример #6
0
        public ContentResult ToSave(FormCollection c)
        {
            try
            {
                string[] parakeys = c["parakey"].Split(',');
                string[] paravals = c["paraval"].Split(',');

                if (parakeys.Length != paravals.Length)
                {
                    return(Content("保存设置出现异常"));
                }
                for (int i = 0; i < parakeys.Length; i++)
                {
                    BaseParameters oldPara = BaseParameters.GetEntityByParametersKey(parakeys[i]);


                    BaseParameters.EditByID(parakeys[i], paravals[i]);

                    SYSLog.add("系统参数[" + oldPara.NickName + "]从[" + oldPara.ParametersVal + "]修改为[" + paravals[i] + "]", "后台用户" + CurrentUser.UserName + "(" + CurrentUser.Name + ")", CurrentURL, "系统参数", "电脑端后台");
                }
                return(Content("ok"));
            }
            catch (Exception ex)
            {
                DAL.Log.Instance.Write(ex.ToString(), "BaseParameters_ToSave_error");
                return(Content("保存出错"));
            }
        }
        protected AnimatorTransitionBase(AssetInfo assetInfo, ClassIDType classID, BaseParameters parameters) :
            base(assetInfo, 1)
        {
            List <AnimatorCondition> conditionList = new List <AnimatorCondition>(parameters.ConditionConstants.Count);

            for (int i = 0; i < parameters.ConditionConstants.Count; i++)
            {
                ConditionConstant conditionConstant = parameters.ConditionConstants[i].Instance;
                if (conditionConstant.ConditionMode != AnimatorConditionMode.ExitTime)
                {
                    AnimatorCondition condition = new AnimatorCondition(conditionConstant, parameters.TOS);
                    conditionList.Add(condition);
                }
            }
            m_conditions = conditionList.ToArray();

            AnimatorState state = parameters.GetDestinationState();

            DstStateMachine = default;

            DstState = state == null ? default : state.File.CreatePPtr(state);

                       Name   = parameters.Name;
                       Solo   = false;
                       Mute   = false;
                       IsExit = parameters.IsExit;
        }
Пример #8
0
        public NomenclatureViewModel(
            BaseParameters baseParameters,
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            INavigationManager navigation,
            ILifetimeScope autofacScope,
            IValidator validator = null) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            var entryBuilder =
                new CommonEEVMBuilderFactory <Nomenclature>(this, Entity, UoW, navigation, autofacScope);

            ItemTypeEntryViewModel = entryBuilder.ForProperty(x => x.Type)
                                     .MakeByType()
                                     .Finish();
            Validations.Clear();
            Validations.Add(
                new ValidationRequest(Entity,
                                      new ValidationContext(Entity,
                                                            new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters },
                { nameof(IUnitOfWork), UoW }
            })));

            Entity.PropertyChanged += Entity_PropertyChanged;
        }
Пример #9
0
        public void Compose(BaseParameters parameters)
        {
            try
            {
                var catalog = new AggregateCatalog(new AssemblyCatalog(Assembly.GetExecutingAssembly()),
                                                   new AssemblyCatalog(typeof(Logic.SanityCheck).Assembly));

                LoadPlugins(catalog, parameters);

                var container = new CompositionContainer(catalog);

                var batch = new CompositionBatch();
                batch.AddPart(this);
                batch.AddPart(parameters);

                var config = new Configuration(parameters.FileSystem, parameters.Path);
                config.ReadFromFile();
                batch.AddExportedValue((IConfiguration)config);

                container.Compose(batch);
            }
            catch (ReflectionTypeLoadException ex)
            {
                Console.WriteLine(@"Unable to load: \r\n{0}",
                                  string.Join("\r\n", ex.LoaderExceptions.Select(e => e.Message)));

                throw;
            }
        }
Пример #10
0
        public ContentResult ToDel(int id)
        {
            BaseParameters oldpara = BaseParameters.GetEntityByID(id);

            if (BaseParameters.DeleteByID(id) > 0)
            {
                if (oldpara.valType == "image")
                {
                    try
                    {
                        string oldImgUrl = oldpara.ParametersVal;//原来的图片
                        if (oldImgUrl.Contains("?"))
                        {
                            oldImgUrl = oldImgUrl.SubStringSafe(0, oldImgUrl.IndexOf("?"));
                        }
                        if (string.IsNullOrWhiteSpace(oldImgUrl) == false)
                        {
                            string delFile = Server.MapPath("~") + oldImgUrl;
                            System.IO.File.Delete(delFile);
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }
                return(Content("ok"));
            }
            return(Content("删除出错"));
        }
Пример #11
0
        private static void Main(string[] args)
        {
            Tracing.Logger.SetWriter(Console.Out);
            Tracing.Logger.AddCategory("info");
            Tracing.Logger.AddCategory("error");

            var parameters = BaseParameters.Parse(args, new FileSystem());

            if (parameters.Debug)
            {
                Tracing.Logger.AddCategory("debug");
            }

            var program = new Program();

            Tracing.Info("starting pretzel...");
            Tracing.Debug(string.Format("V{0}", Assembly.GetExecutingAssembly().GetName().Version));

            program.Compose(parameters);

            if (parameters.Help || !args.Any())
            {
                program.ShowHelp(parameters.Options);
                return;
            }

            program.Run(args, parameters);
        }
Пример #12
0
        private string GetCustomParameter(BaseParameters parameters, string name)
        {
            var customParameters = ((List <CustomParameter>)parameters.GetParameters()[Parameter.Custom]);

            var targetParameter = customParameters.FirstOrDefault(p => p.Name == name);

            return(targetParameter?.Value?.ToString());
        }
Пример #13
0
 /// <summary>
 /// Assigns all required parameters.
 /// </summary>
 /// <param name="parameters">Required base parameters.</param>
 /// <param name="palette">Required color palette.</param>
 /// <param name="power">Exponent required for the generalized fractal equation.</param>
 protected Fractal(BaseParameters parameters, Palette palette, double power)
 {
     Params     = parameters;
     Palette    = palette;
     Power      = power;
     HalfWidth  = Params.Width / 2;
     HalfHeight = Params.Height / 2;
 }
Пример #14
0
    public void Init()
    {
        bp = BaseParameters.Instance;
        nc = NodeController.Instance;
        eh = EventHandler.Instance;

        eh.Sub(Event.EventType.CorruptionTick, this);
    }
Пример #15
0
        /// <summary>
        /// Set the parameters object based on the internal program and parameters string
        /// </summary>
        /// <param name="parameters">String representation of the parameters</param>
        public void SetParameters(string parameters)
        {
            switch (Options.InternalProgram)
            {
            // Dumping support
            case InternalProgram.Aaru:
                this.Parameters = new Modules.Aaru.Parameters(parameters)
                {
                    ExecutablePath = Options.AaruPath
                };
                break;

            case InternalProgram.DD:
                this.Parameters = new Modules.DD.Parameters(parameters)
                {
                    ExecutablePath = Options.DDPath
                };
                break;

            case InternalProgram.DiscImageCreator:
                this.Parameters = new Modules.DiscImageCreator.Parameters(parameters)
                {
                    ExecutablePath = Options.DiscImageCreatorPath
                };
                break;

            // Verification support only
            case InternalProgram.CleanRip:
                this.Parameters = new Modules.CleanRip.Parameters(parameters)
                {
                    ExecutablePath = null
                };
                break;

            case InternalProgram.DCDumper:
                this.Parameters = null;     // TODO: Create correct parameter type when supported
                break;

            case InternalProgram.UmdImageCreator:
                this.Parameters = new Modules.UmdImageCreator.Parameters(parameters)
                {
                    ExecutablePath = null
                };
                break;

            // This should never happen, but it needs a fallback
            default:
                this.Parameters = new Modules.DiscImageCreator.Parameters(parameters)
                {
                    ExecutablePath = Options.DiscImageCreatorPath
                };
                break;
            }

            // Set system and type
            this.Parameters.System = this.System;
            this.Parameters.Type   = this.Type;
        }
 public EmployeeVacationViewModel(
     IEntityUoWBuilder uowBuilder,
     IUnitOfWorkFactory unitOfWorkFactory,
     INavigationManager navigation,
     BaseParameters baseParameters,
     IValidator validator = null) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
 {
     this.baseParameters = baseParameters;
 }
 public DataBaseSettingsViewModel(IUnitOfWorkFactory unitOfWorkFactory, INavigationManager navigation, BaseParameters baseParameters) : base(unitOfWorkFactory, navigation)
 {
     Title = "Настройки учёта";
     this.baseParameters  = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
     DefaultAutoWriteoff  = baseParameters.DefaultAutoWriteoff;
     CheckBalances        = baseParameters.CheckBalances;
     ColDayAheadOfShedule = baseParameters.ColDayAheadOfShedule;
     ShiftExpluatacion    = baseParameters.ShiftExpluatacion;
     ExtendPeriod         = baseParameters.ExtendPeriod;
 }
 public EmployeeVacationViewModel(
     int employeeId,
     IEntityUoWBuilder uowBuilder,
     IUnitOfWorkFactory unitOfWorkFactory,
     INavigationManager navigation,
     BaseParameters baseParameters,
     IValidator validator = null) : this(uowBuilder, unitOfWorkFactory, navigation, baseParameters)
 {
     Entity.Employee = UoW.GetById <EmployeeCard>(employeeId);
 }
Пример #19
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="name">Name</param>
        /// <param name="drain">Drain</param>
        /// <param name="gate">Gate</param>
        /// <param name="source">Source</param>
        /// <param name="bulk">Bulk</param>
        /// <param name="width">Transistor width</param>
        /// <param name="length">Transistor length</param>
        public BSIM3(string name, string drain, string gate, string source, string bulk, double width, double length)
            : base(name, BSIM3PinCount)
        {
            var bp = new BaseParameters();

            ParameterSets.Add(bp);
            bp.Width.Value  = width;
            bp.Length.Value = length;
            Connect(drain, gate, source, bulk);
        }
        public IssueByIdentifierViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            INavigationManager navigation,
            IGuiDispatcher guiDispatcher,
            IUserService userService,
            ILifetimeScope autofacScope,
            StockRepository stockRepository,
            EmployeeRepository employeeRepository,
            FeaturesService featuresService,
            IValidator validator,
            BaseParameters baseParameters,
            IInteractiveQuestion interactive,
            IChangeableConfiguration configuration,
            SizeService sizeService,
            ICardReaderService cardReaderService = null) : base(navigation)
        {
            this.unitOfWorkFactory  = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            this.guiDispatcher      = guiDispatcher ?? throw new ArgumentNullException(nameof(guiDispatcher));
            this.userService        = userService ?? throw new ArgumentNullException(nameof(userService));
            this.autofacScope       = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.employeeRepository = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            this.validator          = validator ?? throw new ArgumentNullException(nameof(validator));
            this.BaseParameters     = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.interactive        = interactive ?? throw new ArgumentNullException(nameof(interactive));
            this.configuration      = configuration ?? throw new ArgumentNullException(nameof(configuration));
            SizeService             = sizeService ?? throw new ArgumentNullException(nameof(sizeService));
            this.cardReaderService  = cardReaderService;
            IsModal = false;
            EnableMinimizeMaximize = true;
            Title = "Выдача по картам СКУД";

            UowOfDialog = unitOfWorkFactory.CreateWithoutRoot();
            var entryBuilder = new CommonEEVMBuilderFactory <IssueByIdentifierViewModel>(this, this, UowOfDialog, navigation, autofacScope);

            if (cardReaderService != null)
            {
                cardReaderService.RefreshDevices();
                cardReaderService.СardStatusRead           += RusGuardService_СardStatusRead;
                cardReaderService.CardFamilies.ListChanged += CardFamilies_ListChanged;
            }
            UpdateState();


            WarehouseEntryViewModel = entryBuilder.ForProperty(x => x.Warehouse).MakeByType().Finish();
            Warehouse = stockRepository.GetDefaultWarehouse(UowOfDialog, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);

            //Настройка таймера сброса
            timerCleanSuccessfullyText           = new Timer(40000);
            timerCleanSuccessfullyText.AutoReset = false;
            timerCleanSuccessfullyText.Elapsed  += delegate(object sender, ElapsedEventArgs e) {
                guiDispatcher.RunInGuiTread(() => SuccessfullyText = null);
            };

            ReadConfig();
        }
Пример #21
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BehavioralVoltageSource"/> class.
        /// </summary>
        /// <param name="name">The name of the voltage source.</param>
        /// <param name="pos">The positive node.</param>
        /// <param name="neg">The negative node.</param>
        /// <param name="expression">The expression.</param>
        public BehavioralVoltageSource(string name, string pos, string neg, string expression)
            : base(name, BehavioralVoltageSourcePinCount)
        {
            // Parameters
            var p = new BaseParameters {
                Expression = expression
            };

            ParameterSets.Add(p);
            Connect(pos, neg);
        }
        public CompletionViewModel(IEntityUoWBuilder uowBuilder,
                                   IUnitOfWorkFactory unitOfWorkFactory,
                                   INavigationManager navigation,
                                   IUserService userService,
                                   StockRepository stockRepository,
                                   FeaturesService featuresService,
                                   ILifetimeScope autofacScope,
                                   BaseParameters baseParameters,
                                   IInteractiveQuestion interactive,
                                   SizeService sizeService,
                                   IValidator validator = null) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            var entryBuilder = new CommonEEVMBuilderFactory <Completion>(this, Entity, UoW, navigation, autofacScope);

            this.interactive     = interactive;
            this.featuresService = featuresService;
            SizeService          = sizeService;

            if (UoW.IsNew)
            {
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
            }

            if (Entity.SourceWarehouse == null)
            {
                Entity.SourceWarehouse = stockRepository.GetDefaultWarehouse
                                             (UoW, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }

            WarehouseExpenseEntryViewModel = entryBuilder.ForProperty(x => x.SourceWarehouse)
                                             .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                             .UseViewModelDialog <WarehouseViewModel>()
                                             .Finish();

            if (Entity.ResultWarehouse == null)
            {
                Entity.ResultWarehouse = stockRepository.GetDefaultWarehouse
                                             (UoW, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }

            WarehouseReceiptEntryViewModel = entryBuilder.ForProperty(x => x.ResultWarehouse)
                                             .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                             .UseViewModelDialog <WarehouseViewModel>()
                                             .Finish();

            Validations.Clear();
            Validations.Add(new ValidationRequest(Entity,
                                                  new ValidationContext(Entity, new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters }, { nameof(IUnitOfWork), UoW }
            })));
            Entity.PropertyChanged += Entity_PropertyChanged;
            lastWarehouse           = Entity.SourceWarehouse;
        }
Пример #23
0
 public void Start()
 {
     nc = NodeController.Instance;
     bp = BaseParameters.Instance;
     eh = EventHandler.Instance;
     diffusion_handler = FindObjectOfType <DiffusionReaction2DFrag>();
     diffusion_handler.SelectedMode     = DiffusionReaction2DFrag.SimulationModes.WormLike;
     diffusion_handler.SimulationShader = diffusion_handler.SimulationShaderTitle;
     ObjectPool.ClearPools();
     ScaledTime.TimeScale = 0.0f;
     StartCoroutine(delayed_Draw());
 }
    public void Start()
    {
        diffusion_handler = Component.FindObjectOfType <DiffusionReaction2DFrag>() as DiffusionReaction2DFrag;
        bp = BaseParameters.Instance;
        nc = NodeController.Instance;
        eh = EventHandler.Instance;

        eh.Sub(Event.EventType.CorruptNode, this);
        eh.Sub(Event.EventType.UpdateDistanceFunction, this);
        eh.Sub(Event.EventType.NodesSpawned, this);
        eh.Sub(Event.EventType.NodeDestroyed, this);
    }
Пример #25
0
        private void Run(BaseParameters baseParameters)
        {
            if (Commands[baseParameters.CommandName] == null)
            {
                Console.WriteLine(@"Can't find command ""{0}""", baseParameters.CommandName);
                Commands.WriteHelp(baseParameters.Options);
                return;
            }

            Commands[baseParameters.CommandName].Execute(baseParameters.CommandArgs);
            WaitForClose();
        }
Пример #26
0
        public async Task <string> RegisterAddress(string address)
        {
            string path = "/whitelist/{0}" + address;

            StringContent content = new StringContent(BaseParameters.ToString(), Encoding.UTF8);

            HttpResponseMessage response = await httpClient.PostAsync(path, content).ConfigureAwait(false);

            string hydroAddressId = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            return(hydroAddressId);
        }
Пример #27
0
        public async Task <bool> CheckValidRaindrop(string hydroAddressId)
        {
            string path = "/authenticate?hydroAddressId=" + hydroAddressId;

            StringContent content = new StringContent(BaseParameters.ToString(), Encoding.UTF8);

            HttpResponseMessage response = await httpClient.PostAsync(path, content).ConfigureAwait(false);

            string responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            return(responseString == "true" ?  true : false);
        }
Пример #28
0
        public void Parameters_ReplacesCounterpart()
        {
            var parameters = new BaseParameters
            {
                [Parameter.Password] = "password",
                [Parameter.PassHash] = "passhash"
            };

            Assert.AreEqual(1, parameters.GetParameters().Keys.Count);
            Assert.AreEqual(parameters[Parameter.PassHash], "passhash");
            Assert.AreEqual(null, parameters[Parameter.Password]);
        }
Пример #29
0
        private void LoadPlugins(AggregateCatalog catalog, BaseParameters parameters)
        {
            if (!parameters.Safe)
            {
                var pluginsPath = Path.Combine(parameters.Path, "_plugins");

                if (Directory.Exists(pluginsPath))
                {
                    catalog.Catalogs.Add(new DirectoryCatalog(pluginsPath));
                    AddScriptCs(catalog, pluginsPath);
                }
            }
        }
Пример #30
0
        public async Task <RaindropDetails> RequestRaindrop(string hydroAddressId)
        {
            string path = "/challenge?hydroAddressId=" + hydroAddressId;

            StringContent content = new StringContent(BaseParameters.ToString(), Encoding.UTF8);

            HttpResponseMessage response = await httpClient.PostAsync(path, content).ConfigureAwait(false);

            string responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            RaindropDetails details = JsonConvert.DeserializeObject <RaindropDetails>(responseString);

            return(details);
        }