public void GetSerialNumberTest2()
        {
            var      sw = new Stopwatch();
            TimeSpan timeCost;

            using (var unitOfWork = new RuicoUnitOfWork())
            {
                sw.Start();

                var repository = new SerialNumberRepository(unitOfWork);

                var prefix       = "NBA";
                var dateNumber   = DateTime.Now.ToString("yyyyMMdd");
                var inc          = 1;
                var numberLength = 5;

                var number = repository.GetSerialNumber(prefix, dateNumber, inc);

                var sn = string.Format("{0}{1}{2}", prefix, dateNumber, number.ToString("0")
                                       .PadLeft(numberLength, '0'));

                Console.WriteLine("Number: {0}", number);
                Console.WriteLine("SN: {0}", sn);

                sw.Stop();
                timeCost = sw.Elapsed;
            }

            Console.WriteLine("Elapsed: " + timeCost.Ticks);
        }
Exemple #2
0
        private static void SerialNumberTest()
        {
            var serialRepo = new SerialNumberRepository();

            Console.WriteLine(
                serialRepo.NextNumber(1, SerialNumberModule.Receipts, new DateTime(2019, 3, 31))
                );
        }
        private CheckCheckSerialNumberResponse DoCheckSerialNumber()
        {
            CheckCheckSerialNumberResponse response = new CheckCheckSerialNumberResponse();
            SerialNumberRepository snRepository = new SerialNumberRepository();
            string number = string.Empty;
            if(Request["SNValue"] != null)
                number = Request["SNValue"].ToString();
            SerialNumber sn = snRepository.GetByNumber(number);
            string ip = Request.UserHostAddress;
            //http://api.ipinfodb.com/v3/ip-city/?key=5ebf5803d4420744d4253fc2db0f2f6c578eb151ff71a0416e8b6bdcdcabab86&ip=74.125.45.100
            string city = ResolveCityByIp(ip);

            // If you want it formated in some other way.
            var headers = String.Empty;
            foreach (var key in Request.Headers.AllKeys)
                headers += key + "=" + Request.Headers[key] + Environment.NewLine;
            try
            {
                snRepository.TrackSerialNumber(number, headers, Request.UserHostAddress, city);
            }
            catch (Exception)
            {

            }

            if (sn != null)
            {
                bool _2year = false;
                Erc.Apple.Data.Services services = new Erc.Apple.Data.Services();
                if (sn.ServiceID != null)
                {
                    Erc.Apple.Data.Service service = services.GetByID(sn.ServiceID.Value);
                    if (service != null)
                        response.ServiceCenter = (string.IsNullOrEmpty(service.Name)) ? "<Unknown name>" : service.Name;

                    try
                    {
                        _2year = services.Check2yearWarranty(number);
                        response.ExtraWarranty = _2year;
                    }
                    catch (Exception)
                    {

                    }
                }
                response.Message = "Serial number is valid.";

            }
            else
            {
                response.Message = "Invalid serial number.";
                response.IsValid = false;
            }
            return response;
        }
Exemple #4
0
        private static void IncrementAlphaTest()
        {
            var snRepo = new SerialNumberRepository();

            //Debug.WriteLine("{0} -> {1}", "A", snRepo.IncrementAlpha("A"));
            //Debug.WriteLine("{0} -> {1}", "J", snRepo.IncrementAlpha("J"));
            //Debug.WriteLine("{0} -> {1}", "Z", snRepo.IncrementAlpha("Z"));
            //Debug.WriteLine("{0} -> {1}", "A-A-", snRepo.IncrementAlpha("A-A-"));
            //Debug.WriteLine("{0} -> {1}", "A-J-", snRepo.IncrementAlpha("A-J-"));
            //Debug.WriteLine("{0} -> {1}", "A-Z-", snRepo.IncrementAlpha("A-Z-"));
            Debug.WriteLine("{0} -> {1}", "Z#Z-", snRepo.IncrementAlpha("Z#Z-"));
            //Debug.WriteLine("{0} -> {1}", "BXN-AN-O", snRepo.IncrementAlpha("BXN-AN-O"));
            //Debug.WriteLine("{0} -> {1}", "BXN-999", snRepo.NextNumber("BXN-", "NNN", "", 999));
            Debug.WriteLine("{0} -> {1}", "AB-999", snRepo.NextNumber("AB-", "NNN", "", 999));
        }
        public int CommitChanges(List<string> fileNames)
        {
            int numberOfCommitedSerialNumbers = 0;

            foreach (string fileName in fileNames)
            {
                List<SerialNumber> serialNumbers = GetSerialNumbersFromFile(fileName);
                SerialNumberRepository repository = new SerialNumberRepository();
                serialNumbers.ForEach(s =>
                                      	{
                                      		s.AdminID = this.UserID;
                                      		s.CreatedDate = DateTime.Now;
                                            repository.Add(s);
                                      	});
                repository.Save();
                numberOfCommitedSerialNumbers = serialNumbers.Count;
            }

            return numberOfCommitedSerialNumbers;
        }
        private string ResolveCityByIp(string ip)
        {
            try
            {
                using (WebClient client = new WebClient())
                {
                    client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
                    string url = string.Format("http://api.ipinfodb.com/v3/ip-city/?key=5ebf5803d4420744d4253fc2db0f2f6c578eb151ff71a0416e8b6bdcdcabab86&ip={0}", ip);
                    List<string> parameters = new List<string>();
                    using (Stream data = client.OpenRead(url))
                    {
                        using (StreamReader reader = new StreamReader(data))
                        {
                            string s = reader.ReadToEnd();
                            parameters.AddRange(s.Split(';'));
                            data.Close();
                            reader.Close();
                            try
                            {
                                SerialNumberRepository snRepository = new SerialNumberRepository();
                                snRepository.InsertIpDatabase(ip, s);
                            }
                            catch (Exception)
                            {

                            }
                        }
                    }
                    //OK;;74.125.45.100;US;UNITED STATES;CALIFORNIA;MOUNTAIN VIEW;94043;37.3861;-122.084;-08:00
                    //OK;;85.223.209.2;UA;UKRAINE;KYYIV;KIEV;-;50.4547;30.5238;+02:00

                    return parameters.Count < 7 ? "" : parameters[6];
                }
            }
            catch (Exception)
            {

                return string.Empty;
            }
        }
        private CheckCheckSerialNumberResponse DoCheckSerialNumber()
        {
            CheckCheckSerialNumberResponse response = new CheckCheckSerialNumberResponse();
            SerialNumberRepository snRepository = new SerialNumberRepository();
            string number = string.Empty;
            if (Request["SNValue"] != null)
                number = Request["SNValue"].ToString().ToUpperInvariant();

            string BuyDate = string.Empty;
            if (Request["BuyDate"] != null)
                BuyDate = Request["BuyDate"].ToString();

            string Email = string.Empty;
            if (Request["Email"] != null)
                Email = Request["Email"].ToString();

            int seller = 0;
            try
            {
                if (Request["Seller"] != null)
                    seller = int.Parse(Request["Seller"].ToString());
            }
            catch (Exception)
            {
                response.IsValid = false;
                response.Message = "invalid seller";
                return response;
            }
            if (string.IsNullOrEmpty(Email.Trim()))
            {
                response.IsValid = false;
                response.Message = "invalid email";
                return response;
            }
            if (seller == 0)
            {
                response.IsValid = false;
                response.Message = "invalid seller";
                return response;
            }
            List<string> list = (new iPadActionSerials()).GetSerialNumbers();
            if (list.Contains(number))
            {
                response.IsValid = false;
                response.Message = "duplicate number";
                return response;
            }

            DateTime buydate = DateTime.MinValue;
            if(!DateTime.TryParseExact(BuyDate, "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out buydate))
            {
                response.Message = "invalid date";
                response.IsValid = false;
                return response;
            }

            if (buydate < new DateTime(2012, 12, 1) || buydate > new DateTime(2013, 1, 10))
            {
                response.IsValid = false;
                response.Message = "invalid daterange";
                return response;
            }

            ResolveCity();

            iPadActionSerials rep = new iPadActionSerials();
            var item = new iPadActionSerial { Serial = number, BuyDate = buydate, Email = Email, Seller = seller, SellerName= Sellers.FirstOrDefault(s=>s.ID==seller).Name };

            try
            {
                item.ID = rep.Add(item);

                SendMail(item);
                SendEmail(item.ID, item.Status, item.Email, item.Serial);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("iPadAction: " + ex.ToString());
            }

            return response;
        }