Inheritance: JsonConverter
        public void When_Convert_is_called_with_a_null_datetime_string_then_the_result_is_a_valid_DateTime_instance()
        {
            var converter = new DateTimeConverter();
            var result = converter.Convert(null);

            Assert.IsFalse(result.HasValue);
        }
        public void When_Convert_is_called_with_an_invalid_datetime_string_then_the_result_is_a_valid_DateTime_instance()
        {
            const string soundCloudDateTime = "20090813 18:30:10 +0000";
            var converter = new DateTimeConverter();
            var result = converter.Convert(soundCloudDateTime);

            Assert.IsFalse(result.HasValue);
        }
        public void ShouldConvertBack()
        {
            // Arrange
            IValueConverter dateTimeConverter = new DateTimeConverter();
            DateTime dateTimeNow = DateTime.Now;
            string dateTimeInput = dateTimeNow.ToLongTimeString();

            // Act
            var convertedOutput = (DateTime)dateTimeConverter.ConvertBack(dateTimeInput, null, null, null);

            // Assert
            (dateTimeNow - convertedOutput).Should().BeLessThan(new TimeSpan(0, 0, 0, 1));
        }
        public void ShouldConvert()
        {
            // Arrange
            IValueConverter dateTimeConverter = new DateTimeConverter();

            var input = new DateTime(2014, 8, 26, 18, 0, 0);
            var expectedValue = (input).ToLocalTime().ToString(DefaultFormat, CultureInfo.CurrentUICulture);
            
            // Act
            var convertedOutput = dateTimeConverter.Convert(input, typeof(string), null, CultureInfo.CurrentUICulture);

            // Assert
            Assert.Equal(expectedValue, convertedOutput);
        }
        public void When_Convert_is_called_with_a_valid_datetime_string_then_the_result_is_a_valid_DateTime_instance()
        {
            const string soundCloudDateTime = "2009/08/13 18:30:10 +0000";
            var converter = new DateTimeConverter();
            var result = converter.Convert(soundCloudDateTime);

            Assert.IsTrue(result.HasValue);

            Assert.AreEqual(2009, result.Value.Year);
            Assert.AreEqual(8, result.Value.Month);
            Assert.AreEqual(13, result.Value.Day);
            Assert.AreEqual(18, result.Value.Hour);
            Assert.AreEqual(30, result.Value.Minute);
            Assert.AreEqual(10, result.Value.Second);
        }
        public void ShouldFailToConvertToCSharpValue()
        {
            //Arrange
            var converter = new DateTimeConverter();
            object value0;
            object value1;
            object value2;
            //Act
            bool success0 = converter.TryConvertToCSharpValue("2/29/2015", out value0);
            bool success1 = converter.TryConvertToCSharpValue("15/12/2015", out value1);
            bool success2 = converter.TryConvertToCSharpValue("NoDate", out value2);
            //Assert
            Assert.IsFalse(success0);
            Assert.IsFalse(success1);
            Assert.IsFalse(success2);


        }
        public void ShouldConvertToCellValue()
        {
            //Arrange
            var converter = new DateTimeConverter();
            string value0;
            string value1;
            string value2;
            //Act
            bool success0 = converter.TryConvertToCellValue(new DateTime(2015, 10, 10), out value0);
            bool success1 = converter.TryConvertToCellValue(DateTime.MinValue, out value1);
            bool success2 = converter.TryConvertToCellValue(DateTime.MaxValue, out value2);
            //Assert
            Assert.IsTrue(success0);
            Assert.IsTrue(success1);
            Assert.IsTrue(success2);
            Assert.AreEqual("2015/10/10",value0);
            Assert.AreEqual("0001/01/01", value1);
            Assert.AreEqual("9999/12/31", value2);


        }
        public void ShouldConvertToCSharpValue()
        {
            //Arrange
            var converter = new DateTimeConverter();
            object value0;
            object value1;
            object value2;
            //Act
            bool success0 = converter.TryConvertToCSharpValue("2015-12-15", out value0);
            bool success1 = converter.TryConvertToCSharpValue("12/15/2015", out value1);
            bool success2 = converter.TryConvertToCSharpValue("12-15-2015", out value2);
            //Assert
            Assert.IsTrue(success0);
            Assert.IsTrue(success1);
            Assert.IsTrue(success2);
            var targetDate = new DateTime(2015, 12, 15);
            Assert.AreEqual(targetDate, value0);
            Assert.AreEqual(targetDate, value1);
            Assert.AreEqual(targetDate, value2);


        }
示例#9
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Leer xmltv. </summary>
        ///
        /// <remarks>   Procesa el documento XML rellenando la lista List que almacena las emisiones.
        ///
        /// Las etiquetas channel, contienen información de las cadenas, mientras que la etiqueta programme sobre
        /// los programas.
        /// Una vez leído el XML, se ordena la lista usando como criterio la fecha de emisión, y, posteriormente
        /// se recorre para realizar las inserciones en la BD de forma correcta. Cada emisión debe calcular su duración con relación
        /// a la siguiente emsión dentro de la cadena.
        /// </remarks>
        ///
        /// <param name="xElem">    The x coordinate element. </param>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public void leerXMLtv(XElement xElem)
        {
            string infoLectura = "";


            infoLectura = etRespuesta.Text + "\nLeyendo XML...";
            MensajeSistema(etRespuesta, infoLectura, kMensajeSistema.mCORRECTO);
            MensajeSistema(etInfoXML, "Procesando XML...", kMensajeSistema.mCORRECTO);
            gbInfoXML.Visible = true;
            try
            {
                //La ruta del documento XML permite rutas relativas
                //respecto del ejecutable!
                int              numcad       = 0;
                int              numprog      = 0;
                Hashtable        miguiaTV     = new Hashtable();
                List <ENEmision> listaEmision = new List <ENEmision>();

                IEnumerable <XElement> ListaHijos = from el in xElem.Elements() select el;
                foreach (XElement e in ListaHijos)
                {
                    if (e.Name.LocalName == "channel")
                    {
                        IEnumerable <XElement> HijosDeChannel = from hijo in e.Elements() select hijo;
                        foreach (XElement h in HijosDeChannel)
                        {
                            if (h.Name.LocalName == "display-name")
                            {
                                ENCadena nuevo = new ENCadena(h.Value);
                                nuevo.Activo = true;
                                nuevo.Tipo   = Enum.GetName(typeof(kTipo), kTipo.Generalista);
                                // e.Attribute
                                int id = nuevo.existeNombreCadena();

                                if (id == -1) // No existe el nombre en la BD
                                {
                                    nuevo.insertarCadena();
                                    miguiaTV[e.FirstAttribute.Value] = nuevo.Id;
                                    infoLectura = etRespuesta.Text + "\nAñadido nuevo Canal: " + nuevo.Nombre;
                                    MensajeSistema(etRespuesta, infoLectura, kMensajeSistema.mCORRECTO);
                                }
                                else
                                {
                                    miguiaTV[e.FirstAttribute.Value] = id;
                                    numcad++;
                                }
                            }
                        }
                    }

                    if (e.Name.LocalName == "programme")
                    {
                        // Start
                        string start = SecurityElement.Escape(e.Attribute("start").Value);
                        // Channel
                        string channel = e.Attribute("channel").Value;

                        int    cadena = (int)miguiaTV[channel];
                        string nombre = SecurityElement.Escape(Validacion.SustituyeCaracteresRaros(e.Element("title").Value));

                        // string descripcion = xmlStringHelpers.ConvierteA_UTF8(e.Element("desc").Value);
                        string descripcion  = SecurityElement.Escape(Validacion.SustituyeCaracteresRaros(e.Element("desc").Value));
                        int    tematica     = 1;
                        int    calificacion = 1;
                        bool   novedad      = true;
                        bool   activo       = true;
                        int    id_programa  = -1;

                        ENPrograma p = new ENPrograma(cadena, tematica, calificacion, nombre, descripcion, activo, novedad);

                        if (!p.existePrograma())
                        {
                            p.InsertarPrograma();
                            id_programa = p.Id_Programa;
                            infoLectura = etRespuesta.Text + "\nAñadido nuevo Programa: " + p.Nombre;
                            MensajeSistema(etRespuesta, infoLectura, kMensajeSistema.mCORRECTO);
                            numprog++;
                        }
                        else
                        {
                            id_programa = p.ObtenerIdPrograma(0, nombre);
                        }

                        DateTimeConverter con = new DateTimeConverter();

                        string anyo    = start.Substring(0, 4);
                        string mes     = start.Substring(4, 2);
                        string dia     = start.Substring(6, 2);
                        string hora    = start.Substring(8, 2);
                        string minuto  = start.Substring(10, 2);
                        string segundo = start.Substring(12, 2);

                        DateTime  fechaHoraEmision = new DateTime(Convert.ToInt32(anyo), Convert.ToInt32(mes), Convert.ToInt32(dia), Convert.ToInt32(hora), Convert.ToInt32(minuto), Convert.ToInt32(segundo));
                        ENEmision emision          = new ENEmision(cadena, id_programa, fechaHoraEmision, 0);

                        listaEmision.Add(emision);
                    }
                }
                listaEmision.Sort(ComparaENEmisionPorFechaInicio);


                MensajeSistema(etInfoXML, "Creando estructura de datos interna...", kMensajeSistema.mADVERTENCIA);
                gbInfoXML.Visible = true;
                foreach (int id_cadena in miguiaTV.Values)
                {
                    List <ENEmision> emisionPorCadena = new List <ENEmision>();

                    ID_cadena = id_cadena;

                    emisionPorCadena = listaEmision.FindAll(ComparaENEmisionPorCadena);  //(totaller.AddBookToTotal)ComparaENEmisionPorCadena);
                    // Bucle que asigna las duraciones
                    for (int j = 0; j < emisionPorCadena.Count; j++)
                    {
                        if (j == (emisionPorCadena.Count) - 1)
                        {
                            // Ultima emision
                            emisionPorCadena[emisionPorCadena.Count - 1].Duracion = 30;
                            listaEmisionCompleta.Add(emisionPorCadena[emisionPorCadena.Count - 1]);
                        }
                        else
                        {
                            // Todas excepto la última
                            ENEmision completa = emisionPorCadena[j];

                            DateTime actual    = emisionPorCadena[j].FechaHoraInicio;
                            DateTime siguiente = emisionPorCadena[j + 1].FechaHoraInicio;

                            TimeSpan duracion = siguiente.Subtract(actual);

                            completa.Duracion = (int)Math.Ceiling(duracion.TotalMinutes);

                            listaEmisionCompleta.Add(completa);
                        }
                    }
                }

                infoLectura = etRespuesta.Text + "\nEstructura de datos interna cargada con la programación.";
                MensajeSistema(etRespuesta, infoLectura, kMensajeSistema.mCORRECTO);
                MensajeSistema(etInfoXML, "Proceso finalizado", kMensajeSistema.mCORRECTO);
                gbInfoXML.Visible = true;
            }
            catch (Exception ex)
            {
                if (MessageBox.Show("El fichero xml no está bien formado, hay que volver a generarlo. ¿Desea generar de nuevo el xml?", "TEVEO :: Aplicación de gestión", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                {
                    btnGenerarXML_Click((Button)btnCarga, null);
                }
            }
        }
 /// <summary>
 /// Converts array element into a Date or returns default value if conversion is not possible.
 /// </summary>
 /// <param name="index">an index of element to get.</param>
 /// <param name="defaultValue">the default value</param>
 /// <returns>DateTime value of element or default value if conversion is not supported.</returns>
 /// See <see cref="DateTimeConverter.ToDateTimeWithDefault(object, DateTime?)"/>
 public DateTime GetAsDateTimeWithDefault(int index, DateTime?defaultValue)
 {
     return(DateTimeConverter.ToDateTimeWithDefault(this[index], defaultValue));
 }
 /// <summary>
 /// Converts array element into a Date or returns null if conversion is not possible.
 /// </summary>
 /// <param name="index">an index of element to get.</param>
 /// <returns>DateTime value of element or null if conversion is not supported.</returns>
 /// See <see cref="DateTimeConverter.ToNullableDateTime(object)"/>
 public DateTime?GetAsNullableDateTime(int index)
 {
     return(DateTimeConverter.ToNullableDateTime(this[index]));
 }
示例#12
0
        async void MainMap_PointerPressed(object sender, PointerRoutedEventArgs e)
        {
            if (x)
            {
                App.commonApiHandler.QueriedEvents.Clear();
                x = false;
                prog.IsIndeterminate        = true;
                setPositionButton.IsEnabled = true;
                Location loc = new Location();
                this.MainMap.TryPixelToLocation(e.GetCurrentPoint(MainMap).Position, out loc);
                App.myLocation = loc;

                // position me there
                _locationIcon100m.Visibility = Windows.UI.Xaml.Visibility.Visible;
                MapLayer.SetPosition(_locationIcon100m, App.myLocation);

                // get all events withing an area.
                String error = await App.commonApiHandler.QueryForEventsWithinAnArea(App.offset, DateTimeConverter.DateTimeToUnixTimestamp(App.startRange),
                                                                                     DateTimeConverter.DateTimeToUnixTimestamp(App.endRange));

                if (error != null)
                {
                    dialog.Content = error;
                    _locationIcon100m.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    try
                    {
                        await dialog.ShowAsync();
                    }
                    catch (Exception) { }
                }
                prog.IsIndeterminate = false;
            }
        }
示例#13
0
        /// <summary>
        /// Converts map element into a Date or returns default value if conversion is not possible.
        /// </summary>
        /// <param name="key">a key of element to get.</param>
        /// <param name="defaultValue">the default value</param>
        /// <returns>DateTime value of the element or default value if conversion is not supported.</returns>
        /// See <see cref="DateTimeConverter.ToDateTimeWithDefault(object, DateTime?)"/>
        public DateTime GetAsDateTimeWithDefault(string key, DateTime?defaultValue)
        {
            var value = Get(key);

            return(DateTimeConverter.ToDateTimeWithDefault(value, defaultValue));
        }
 public CustomDateTimeConverter(string dateTimeFormat, IFormatProvider formatProvider, DateTimeStyles dateTimeStyles, DateTimeKind dateTimeKind)
 {
     this.dateTimeConverter = new DateTimeConverter(dateTimeFormat, formatProvider, dateTimeStyles);
     this.dateTimeKind      = dateTimeKind;
 }
示例#15
0
 public OrderBookEntryModel Transform()
 {
     return(new OrderBookEntryModel {
         Amount = Amount, Price = Price, DateTime = DateTimeConverter.ConvertTimestamp(Timestamp)
     });
 }
示例#16
0
 private bool isChildTheSame()
 {
     if (isChildExist())
     {
         Child currentChild = DBConnection.retrieveChildByKeys(LogInInformation.Username, ChildName.Text);
         if (currentChild.Child_name == ChildName.Text && currentChild.birthdate == DateTimeConverter.dateTimeToString(Birthdate.SelectedDate))
         {
             return(true);
         }
         return(false);
     }
     return(false);
 }
示例#17
0
        public void ValidateconvertToTypeDatetime()
        {
            var value = new DateTimeConverter("2018-04-20").ConvertToObject("yyyy-MM-dd", CultureInfo.GetCultureInfo("en-IE"));

            Assert.AreEqual(new DateTime(2018, 04, 20), value);
        }
示例#18
0
        public void ValidateReadTypeDatetime()
        {
            var value = new DateTimeConverter(new DateTime(2018, 04, 20)).GetString("yyyyMMdd", CultureInfo.GetCultureInfo("en-IE"));

            Assert.AreEqual("20180420", value);
        }
        public void ctor_sets_target_kind_to_unspecified()
        {
            var converter = new DateTimeConverter();

            Assert.Equal(DateTimeKind.Unspecified, converter.TargetKind);
        }
        public void ctor_sets_source_kind_to_unspecified()
        {
            var converter = new DateTimeConverter();

            Assert.Equal(DateTimeKind.Unspecified, converter.SourceKind);
        }
示例#21
0
        private void AddLogs(IEnumerable <Pack> Packs)
        {
            var sb = new StringBuilder();
            var DateTimeConverter = new DateTimeConverter();
            var PackNameConverter = new PackNameConverter();
            var sep = ",";

            foreach (var Pack in Packs)
            {
                sb.Clear();

                var date           = DateTimeConverter.Convert(Pack.Time, null, null, null).ToString();
                var packname       = PackNameConverter.Convert(Pack.Id, null, null, null).ToString();
                var commons        = Pack.Cards.Count(x => x.Rarity == Rarity.COMMON);
                var commonGolds    = commons > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.COMMON) : 0;
                var rares          = Pack.Cards.Count(x => x.Rarity == Rarity.RARE);
                var rareGolds      = rares > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.RARE) : 0;
                var epics          = Pack.Cards.Count(x => x.Rarity == Rarity.EPIC);
                var epicGolds      = epics > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.EPIC) : 0;
                var legendarys     = Pack.Cards.Count(x => x.Rarity == Rarity.LEGENDARY);
                var legendaryGolds = legendarys > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.LEGENDARY) : 0;

                var Color = null as SolidColorBrush;
                if (legendarys > 0)
                {
                    Color = this.Legendary;
                }
                else if (epics > 0)
                {
                    Color = this.Epic;
                }
                else
                {
                    Color = this.Rare;
                }

                sb
                .Append(date).Append(": ")
                .Append(packname).Append("(")
                .Append(commons);
                this.AddGoldStars(commonGolds, Color, sb);

                sb
                .Append(sep)
                .Append(rares);
                this.AddGoldStars(rareGolds, Color, sb);

                sb
                .Append(sep)
                .Append(epics);
                this.AddGoldStars(epicGolds, Color, sb);

                sb
                .Append(sep)
                .Append(legendarys);
                this.AddGoldStars(legendaryGolds, Color, sb);

                sb.AppendLine(")");
                this.txt_Log.Inlines.Add(new Run(sb.ToString())
                {
                    Foreground = Color
                });
            }

            this.sv_Scrollbar.ScrollToEnd();
        }
示例#22
0
        private EmployeeWorkDetail PrepareEmployeeWorkDetail(EmployeeWorkDetail employeeWorkDetail, EmployeeHeader employeeHeader)
        {
            EmployeeWorkDetail _employeeWorkDetail = null;

            if (employeeWorkDetail.Id > 0)
            {
                _employeeWorkDetail            = employeeHeader.EmployeeWorkDetail.FirstOrDefault();
                _employeeWorkDetail.ModifiedBy = USER_OBJECT.UserName;
                _employeeWorkDetail.ModifiedOn = DateTimeConverter.SingaporeDateTimeConversion(DateTime.Now);
            }
            else
            {
                _employeeWorkDetail           = new EmployeeWorkDetail();
                _employeeWorkDetail.CreatedBy = USER_OBJECT.UserName;
                _employeeWorkDetail.CreatedOn = DateTimeConverter.SingaporeDateTimeConversion(DateTime.Now);
            }
            _employeeWorkDetail.BranchId = employeeWorkDetail.BranchId;
            //_employeeWorkDetail.EmployeeId = employeeHeader.Id;
            _employeeWorkDetail.JoiningDate      = employeeWorkDetail.JoiningDate.HasValue ? DateTimeConverter.SingaporeDateTimeConversion(employeeWorkDetail.JoiningDate.Value) : DateTime.Now;
            _employeeWorkDetail.ConfirmationDate = employeeWorkDetail.ConfirmationDate.HasValue ? DateTimeConverter.SingaporeDateTimeConversion(employeeWorkDetail.ConfirmationDate.Value) : DateTime.Now;
            _employeeWorkDetail.ProbationPeriod  = employeeWorkDetail.ProbationPeriod;
            _employeeWorkDetail.NoticePeriod     = employeeWorkDetail.NoticePeriod;
            _employeeWorkDetail.DesignationId    = employeeWorkDetail.DesignationId;
            _employeeWorkDetail.DepartmentId     = employeeWorkDetail.DepartmentId;
            _employeeWorkDetail.ResignationDate  = employeeWorkDetail.ResignationDate;
            return(_employeeWorkDetail);
        }
        public void IFormattable_DateTime()
        {
            CultureInfo originalCulture = CultureInfo.CurrentCulture;

            try {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-BE");
                DateTime today = DateTime.Today;
                DateTime now   = DateTime.Now;

                table = new DataTable();
                view  = table.DefaultView;
                table.Columns.Add(new DataColumn("Date", typeof(DateTime)));

                DataRow row = table.NewRow();
                row ["Date"] = today;
                table.Rows.Add(row);

                row          = table.NewRow();
                row ["Date"] = now;
                table.Rows.Add(row);

                tableStyle = new DataGridTableStyle();
                ColumnPoker dateColumnStyle = new ColumnPoker();
                dateColumnStyle.MappingName = "Date";
                tableStyle.GridColumnStyles.Add(dateColumnStyle);

                BindingContext bc = new BindingContext();
                DataGrid       dg = new DataGrid();
                dg.BindingContext = bc;
                dg.TableStyles.Add(tableStyle);
                dg.DataSource = table;

                CurrencyManager   cm        = (CurrencyManager)bc [view];
                TextBox           tb        = dateColumnStyle.TextBox;
                DateTimeConverter converter = new DateTimeConverter();

                Assert.IsNotNull(tb, "#A1");
                Assert.AreEqual(string.Empty, tb.Text, "#A2");

                dateColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true);
                Assert.AreEqual(converter.ConvertTo(null, CultureInfo.CurrentCulture,
                                                    today, typeof(string)), tb.Text, "#B1");
                Assert.AreEqual(today, table.Rows [0] ["Date"], "#B2");

                dateColumnStyle.DoEdit(cm, 1, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true);
                Assert.AreEqual(converter.ConvertTo(null, CultureInfo.CurrentCulture,
                                                    now, typeof(string)), tb.Text, "#C1");
                Assert.AreEqual(now, table.Rows [1] ["Date"], "#C2");

                dateColumnStyle.Format = "MM";

                dateColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true);
                Assert.AreEqual(today.ToString("MM", CultureInfo.CurrentCulture), tb.Text, "#D1");
                Assert.AreEqual(today, table.Rows [0] ["Date"], "#D2");

                dateColumnStyle.DoEdit(cm, 1, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true);
                Assert.AreEqual(now.ToString("MM", CultureInfo.CurrentCulture), tb.Text, "#E1");
                Assert.AreEqual(now, table.Rows [1] ["Date"], "#E2");

                dateColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "INVALID", true);
                Assert.IsFalse(dateColumnStyle.DoCommit(cm, 0), "#F1");
                Assert.AreEqual("INVALID", tb.Text, "#F2");
                Assert.AreEqual(today, table.Rows [0] ["Date"], "#F3");

                dateColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "12", true);
                Assert.IsFalse(dateColumnStyle.DoCommit(cm, 0), "#G1");
                Assert.AreEqual("12", tb.Text, "#G2");
                Assert.AreEqual(today, table.Rows [0] ["Date"], "#G3");

                dateColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "07/09/2007", true);
                Assert.IsTrue(dateColumnStyle.DoCommit(cm, 0), "#H1");
                Assert.AreEqual(converter.ConvertTo(null, CultureInfo.CurrentCulture,
                                                    new DateTime(2007, 9, 7), typeof(string)), tb.Text, "#H2");
                Assert.AreEqual(new DateTime(2007, 9, 7), table.Rows [0] ["Date"], "#H3");

                dateColumnStyle.FormatInfo = CultureInfo.CurrentCulture;

                dateColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "08/06/2005", true);
                Assert.IsTrue(dateColumnStyle.DoCommit(cm, 0), "#I1");
                Assert.AreEqual("06", tb.Text, "#I2");
                Assert.AreEqual(new DateTime(2005, 6, 8), table.Rows [0] ["Date"], "#I3");
            } finally {
                Thread.CurrentThread.CurrentCulture = originalCulture;
            }
        }
 public void ShouldFailToConvertToCellValue()
 {
     //Arrange
     var converter = new DateTimeConverter();
     string value0;
     string value1;
     string value2;
     //Act
     bool success0 = converter.TryConvertToCellValue("10/25/2015", out value0);
     bool success1 = converter.TryConvertToCellValue("N/A", out value1);
     bool success2 = converter.TryConvertToCellValue("", out value2);
     //Assert
     Assert.IsFalse(success0);
     Assert.IsFalse(success1);
     Assert.IsFalse(success2);
 }
示例#25
0
        async protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            base.OnNavigatedFrom(e);
            if (oldOffset != App.offset)
            {
                App.commonApiHandler.GettingEventsFinished = new System.Threading.Tasks.TaskCompletionSource <bool>();
                App.localSettings.Values["offset"]         = App.offset.ToString();

                App.commonApiHandler.QueriedEvents.Clear();
                App.commonApiHandler.UserEvents.Clear();


                // get list of atteneded events by user.by
                String error = await App.commonApiHandler.QueryForUserEvents();

                // QueryForEventsWithinAnArea
                try
                {
                    error = await App.commonApiHandler.QueryForEventsWithinAnArea(App.offset, DateTimeConverter.DateTimeToUnixTimestamp(App.startRange),
                                                                                  DateTimeConverter.DateTimeToUnixTimestamp(App.endRange));
                }
                catch (Facebook.WebExceptionWrapper exception) { error = exception.Data.ToString(); }

                if (error != null)
                {
                    App.errorOccured = true;
                    App.errorMessage = error;
                    App.ErrorOccuredFinished.TrySetResult(true);
                }
            }
        }
示例#26
0
        /// <summary>
        /// Gets the management node details.
        /// </summary>
        /// <returns>The management node details.</returns>
        /// <param name="serverDto">Server dto.</param>
        public ManagementDto GetManagementNodeDetails(ServerDto serverDto)
        {
            var dto = new ManagementDto()
            {
                State = new StateDescriptionDto(), Name = serverDto.Server, Domain = serverDto.DomainName
            };

            using (Client client = new Client(serverDto.Server, serverDto.Upn, serverDto.Password))
            {
                var message = string.Format("Method: GetManagementNodeDetails - CdcGetCurrentState API call for Server: {0}", serverDto.Server);
                _logger.Log(message, LogLevel.Info);

                try
                {
                    var state = client.CdcGetCurrentState();
                    dto.Legacy = (state == CDC_DC_STATE.CDC_DC_STATE_LEGACY);
                    dto.State  = CdcDcStateHelper.GetStateDescription(state);
                    message    = string.Format("Method: GetManagementNodeDetails - CdcGetCurrentState API call for Server: {0} complete", serverDto.Server);
                    _logger.Log(message, LogLevel.Info);
                }
                catch (Exception exc)
                {
                    message = string.Format("Method: GetManagementNodeDetails - CdcGetCurrentState API call for Server: {0} failed", serverDto.Server);
                    _logger.Log(message, LogLevel.Error);
                    var custom = new CustomExceptionExtractor().GetCustomMessage(exc);
                    _logger.LogException(exc, custom);
                }

                try
                {
                    message = string.Format("Method: GetManagementNodeDetails - VmAfdGetSiteName API call for Server: {0}", serverDto.Server);
                    _logger.Log(message, LogLevel.Info);

                    dto.Sitename = client.VmAfdGetSiteName();

                    message = string.Format("Method: GetManagementNodeDetails - VmAfdGetSiteName API call for Server: {0} complete", serverDto.Server);
                    _logger.Log(message, LogLevel.Info);
                }
                catch (Exception exc)
                {
                    message = string.Format("Method: GetManagementNodeDetails - VmAfdGetSiteName API call for Server: {0} failed", serverDto.Server);
                    _logger.Log(message, LogLevel.Error);
                    var custom = new CustomExceptionExtractor().GetCustomMessage(exc);
                    _logger.LogException(exc, custom);
                }
                dto.Active = true;
                dto.Ip     = Network.GetIpAddress(dto.Name);

                message = string.Format("Method: GetManagementNodeDetails - CdcGetDCName API call for Server: {0}", serverDto.Server);
                _logger.Log(message, LogLevel.Info);

                try
                {
                    var dcInfo = client.CdcGetDCName(serverDto.DomainName, dto.Sitename, 0);

                    message = string.Format("Method: GetManagementNodeDetails - CdcGetDCName API call for Server: {0} complete", serverDto.Server);
                    _logger.Log(message, LogLevel.Info);

                    dto.DomainController = new InfrastructureDto
                    {
                        Name     = dcInfo.pszDCName,
                        NodeType = NodeType.Infrastructure,
                        Domain   = dcInfo.pszDomainName,
                        Ip       = Network.GetIpAddress(dcInfo.pszDCName)
                    };
                }
                catch (Exception exc)
                {
                    message = string.Format("Method: GetManagementNodeDetails - CdcGetDCName API call for Server: {0} failed", serverDto.Server);
                    _logger.Log(message, LogLevel.Error);
                    var custom = new CustomExceptionExtractor().GetCustomMessage(exc);
                    _logger.LogException(exc, custom);
                    dto.DomainController = new InfrastructureDto
                    {
                        Name     = string.Empty,
                        NodeType = NodeType.Infrastructure,
                        Domain   = string.Empty
                    };
                }
                dto.DomainControllers = new List <InfrastructureDto>();

                try
                {
                    message = string.Format("Method: GetManagementNodeDetails - CdcEnumDCEntries API call for Server: {0}", serverDto.Server);
                    _logger.Log(message, LogLevel.Info);
                    IList <string> entries = client.CdcEnumDCEntries();
                    message = string.Format("Method: GetManagementNodeDetails - CdcEnumDCEntries API call for Server: {0} complete. DCs returned: {1}", serverDto.Server, entries.Count());
                    _logger.Log(message, LogLevel.Info);
                    foreach (var entry in entries)
                    {
                        CDC_DC_STATUS_INFO     info;
                        VMAFD_HEARTBEAT_STATUS hbStatus;

                        try
                        {
                            message = string.Format("Method: GetManagementNodeDetails - CdcGetDCStatus API call for Server: {0}", serverDto.Server);
                            _logger.Log(message, LogLevel.Info);

                            client.CdcGetDCStatus(entry, string.Empty, out info, out hbStatus);
                            message = string.Format("Method: GetManagementNodeDetails - CdcGetDCStatus API call for Server: {0} complete", serverDto.Server);
                            _logger.Log(message, LogLevel.Info);

                            var infraDto = new InfrastructureDto()
                            {
                                Name     = entry,
                                Active   = info.bIsAlive == 1,
                                Sitename = info.pszSiteName,
                                LastPing = DateTimeConverter.FromUnixToDateTime(info.dwLastPing),
                                Services = new List <ServiceDto>(),
                                Ip       = Network.GetIpAddress(entry)
                            };

                            if (hbStatus.info != null)
                            {
                                foreach (var serviceInfo in hbStatus.info)
                                {
                                    var service = new ServiceDto
                                    {
                                        ServiceName   = ServiceHelper.GetServiceName(serviceInfo.pszServiceName),
                                        Description   = ServiceHelper.GetServiceDescription(serviceInfo.pszServiceName),
                                        Alive         = serviceInfo.bIsAlive == 1,
                                        LastHeartbeat = DateTimeConverter.FromUnixToDateTime(serviceInfo.dwLastHeartbeat),
                                        Port          = serviceInfo.dwPort,
                                    };
                                    infraDto.Services.Add(service);
                                }
                            }
                            dto.DomainControllers.Add(infraDto);
                        }
                        catch (Exception exc)
                        {
                            message = string.Format("Method: GetManagementNodeDetails - CdcGetDCStatus API call for Server: {0} failed", serverDto.Server);
                            _logger.Log(message, LogLevel.Error);
                            var custom = new CustomExceptionExtractor().GetCustomMessage(exc);
                            _logger.LogException(exc, custom);
                            dto.DomainController = new InfrastructureDto
                            {
                                Name     = string.Empty,
                                NodeType = NodeType.Infrastructure,
                                Domain   = string.Empty
                            };
                        }
                    }
                }
                catch (Exception exc)
                {
                    message = string.Format("Method: GetManagementNodeDetails - CdcEnumDCEntries API call for Server: {0} failed", serverDto.Server);
                    _logger.Log(message, LogLevel.Error);
                    var custom = new CustomExceptionExtractor().GetCustomMessage(exc);
                    _logger.LogException(exc, custom);
                    dto.DomainController = new InfrastructureDto
                    {
                        Name     = string.Empty,
                        NodeType = NodeType.Infrastructure,
                        Domain   = string.Empty
                    };
                }
            }
            return(dto);
        }
示例#27
0
        /// <summary>
        /// Converts map element into a Date or returns null if conversion is not possible.
        /// </summary>
        /// <param name="key">a key of element to get.</param>
        /// <returns>DateTime value of the element or null if conversion is not supported.</returns>
        /// See <see cref="DateTimeConverter.ToNullableDateTime(object)"/>
        public DateTime?GetAsNullableDateTime(string key)
        {
            var value = Get(key);

            return(DateTimeConverter.ToNullableDateTime(value));
        }
示例#28
0
 public void CreateEvent()
 {
     EventCatalogSingleton.Instance.Add(EventViewModel.Id, EventViewModel.Name, EventViewModel.Description, EventViewModel.Place, DateTimeConverter.DateTimeOffsetAndTimeSetToDateTime(EventViewModel.Date, EventViewModel.Time));
 }
示例#29
0
        public void TestDateTimeConverterFromMicroseconds(long input)
        {
            var output = DateTimeConverter.ConvertFromMicroseconds(input);

            Assert.AreEqual(output, new DateTime(2021, 05, 12, 0, 0, 0, DateTimeKind.Utc));
        }
示例#30
0
        async private void DatePicker_DateChanged(object sender, DatePickerValueChangedEventArgs e)
        {
            clearAllCollections();
            prog.IsIndeterminate = true;
            App.startRange       = startRangeDateTimePicker.Date.Date;
            App.endRange         = endRangeDateTimePicker.Date.Date;

            // get user events.
            String error = await App.commonApiHandler.QueryForUserEvents();


            // QueryForEventsWithinAnArea
            error = await App.commonApiHandler.QueryForEventsWithinAnArea(App.offset, DateTimeConverter.DateTimeToUnixTimestamp(startRangeDateTimePicker.Date.Date),
                                                                          DateTimeConverter.DateTimeToUnixTimestamp(endRangeDateTimePicker.Date.Date));

            if (error != null)
            {
                dialog.Content = error;
                _locationIcon100m.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                try
                {
                    await dialog.ShowAsync();
                }
                catch (Exception) { }
            }
            prog.IsIndeterminate = false;
        }
示例#31
0
        public void TestDateTimeConverterToMicroseconds()
        {
            var output = DateTimeConverter.ConvertToMicroseconds(new DateTime(2021, 05, 12, 0, 0, 0, DateTimeKind.Utc));

            Assert.AreEqual(output, 1620777600000000);
        }
示例#32
0
 public TimezoneInfo(IHttpContextAccessor httpContextAccessor)
 {
     CurrentTimezone = DateTimeConverter.GetTimeZoneByAspNetHeader(
         httpContextAccessor,
         Api.ApiSettings.TimezoneHeader).Id;
 }
        /// <summary>
        /// Provides an instance of <see cref="DateTimeConverter"/> based on this <c>DateTimeConverterExtension</c>.
        /// </summary>
        /// <param name="serviceProvider">
        /// An object that can provide services.
        /// </param>
        /// <returns>
        /// The instance of <see cref="DateTimeConverter"/>.
        /// </returns>
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            var dateTimeConverter = new DateTimeConverter(this.SourceKind, this.TargetKind);
            dateTimeConverter.ConversionMode = this.ConversionMode;
            dateTimeConverter.SourceAdjustment = this.SourceAdjustment;
            dateTimeConverter.TargetAdjustment = this.TargetAdjustment;

            return dateTimeConverter;
        }
示例#34
0
        public static object GetJsConfig(string url)
        {
            //HttpContext context = HttpContext.Current;

            //Logger logger = new Logger(AppSettings.LogPath);
            //logger.Info("Url = " + context.Request.Url);
            //logger.Info("UrlReferrer = " + context.Request.UrlReferrer);

            //logger.Info("ticket = " + JsApiTicket.Value);

            string noncestr  = "wechat4net";
            long   timestamp = DateTimeConverter.GetWeixinDateTime(DateTime.Now);

            //string url = "";
            //if (context.Request.UrlReferrer != null)
            //{
            //    url = context.Request.UrlReferrer.ToString().Split('#')[0];
            //}
            if (string.IsNullOrEmpty(url))
            {
                return(null);
            }
            else
            {
                url = url.Split('#')[0];
            }

            string unencrypted = string.Format("jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}", JsApiTicket.Value, noncestr, timestamp, url);

            SHA1          sha;
            ASCIIEncoding enc;
            string        hash = "";

            try
            {
                sha = new SHA1CryptoServiceProvider();
                enc = new ASCIIEncoding();
                byte[] dataToHash = enc.GetBytes(unencrypted);
                byte[] dataHashed = sha.ComputeHash(dataToHash);
                hash = BitConverter.ToString(dataHashed).Replace("-", "");
                hash = hash.ToLower();
            }
            catch (Exception)
            {
                return(null);
            }

            //{
            //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            //appId: '', // 必填,企业号的唯一标识,此处填写企业号corpid
            //timestamp: , // 必填,生成签名的时间戳
            //nonceStr: '', // 必填,生成签名的随机串
            //signature: '',// 必填,签名,见附录1
            //jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
            //}

            var config = new
            {
                debug     = false,
                appId     = WechatConfig.CorpID,
                timestamp = timestamp,
                nonceStr  = noncestr,
                signature = hash,
                jsApiList = new List <string>()
                {
                    "checkJsApi",
                    "onMenuShareTimeline",
                    "onMenuShareAppMessage",
                    "onMenuShareQQ",
                    "onMenuShareWeibo",
                    "onMenuShareQZone",
                    "hideMenuItems",
                    "showMenuItems",
                    "hideAllNonBaseMenuItem",
                    "showAllNonBaseMenuItem",
                    "translateVoice",
                    "startRecord",
                    "stopRecord",
                    "onVoiceRecordEnd",
                    "playVoice",
                    "onVoicePlayEnd",
                    "pauseVoice",
                    "stopVoice",
                    "uploadVoice",
                    "downloadVoice",
                    "chooseImage",
                    "previewImage",
                    "uploadImage",
                    "downloadImage",
                    "getNetworkType",
                    "openLocation",
                    "getLocation",
                    "hideOptionMenu",
                    "showOptionMenu",
                    "closeWindow",
                    "scanQRCode",
                    "chooseWXPay",
                    "openProductSpecificView",
                    "addCard",
                    "chooseCard",
                    "openCard",
                    "openEnterpriseChat"
                }
            };

            return(config);
        }