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; }
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; }