/// <summary> /// Segir til um hvort kenitala er lögleg, þ.e. "well formed". En ekki hvort hún tilheyri einhverjum. /// </summary> /// <returns>Kennitala stenst vartölupróf</returns> public bool ErLogleg() { if ((!string.IsNullOrWhiteSpace(Kt)) && Kt.Count() == 10) { string stak0 = Kt.Substring(0, 1); string stak9 = Kt.Substring(9, 1); try { if (new int[] { 0, 1, 2, 3, 4, 5, 6, 7 }.Contains(Int32.Parse(stak0)) && new int[] { 0, 8, 9 }.Contains(Int32.Parse(stak9))) { //við erum með 10 staka streng sem byrjar og endar á réttri tölu if (Int32.Parse(Kt.Substring(8, 1)) == FaVartolu()) { return(true); } else { return(false); } } } catch (Exception e) { return(false); } } return(false); }
private tegundKennitolu FaTegund() { if (!string.IsNullOrWhiteSpace(Kt)) { int elm0; string str0 = Kt.Substring(0, 1); if (Int32.TryParse(str0, out elm0)) { if (new List <string>() { "0", "1", "2", "3" }.Contains(str0)) { return(tegundKennitolu.einstaklingur); } else if (new List <string>() { "4", "5", "6", "7" }.Contains(str0)) { return(tegundKennitolu.fyrirtaeki); } else { throw new Exception("Kennitölustrengur getur ekki verið löglegur"); } } } throw new Exception("Kennitölustrengur getur ekki verið löglegur"); }
/// <summary> /// Reiknar vartölu fyrir kennitölu, þ.e. 9. stafinn í kennitölunni. /// Notar aðeins 8 stafi og því er mögulegt að skilgreina 8 stafi og reikna þann níunda. /// </summary> /// <returns>Vartölu (níunda staf) fyrir skilgreinda kennitölu</returns> public int FaVartolu() { try { int sum = 0; for (int i = 0; i < 8; i++) { sum += int.Parse(Kt.Substring(i, 1)) * margfeldi[i]; } int vartala = 11 - (sum % 11); if (vartala == 11) { return(0); } else if (vartala == 10) { throw new Exception("Ekki hægt að reikna vartölu fyrir þennan kennitöluhluta"); } else { return(vartala); } } catch (Exception e) { throw new Exception("Ekki hægt að reikna vartölu fyrir þennan kennitöluhluta", e); } }
/// <summary> /// Reiknar fæðingardag eða stofndag út frá kennitölu. /// Kastar villu ef kennitala er ólögleg og ekki hægt að reikna dag. /// </summary> /// <returns>Fæðingar- eða stofndegi sem skilgreind kennitala gefur til kynna.</returns> public DateTime FaFaedingardag() { if (ErLogleg()) { try { int ar = 0; switch (Kt.Substring(9, 1)) { case "0": ar = 2000; break; case "8": ar = 1800; break; case "9": ar = 1900; break; } ar += Int32.Parse(Kt.Substring(4, 2)); if (Int32.Parse(Kt.Substring(0, 1)) > 3) { int day = (Int32.Parse(Kt.Substring(0, 1)) - 4) * 10 + Int32.Parse(Kt.Substring(1, 1)); return(new DateTime(ar, Int32.Parse(Kt.Substring(2, 2)), day)); } else { return(new DateTime(ar, Int32.Parse(Kt.Substring(2, 2)), Int32.Parse(Kt.Substring(0, 2)))); } } catch (Exception e) { throw new Exception("Ekki hægt að sækja dag úr kennitölu", e); } } throw new Exception("Ekki hægt að sækja dag úr ólöglegri kennitölu"); }
public IndexController(Kt.Framework.State.ICacheWraper CacheWraper, HelloWorld.Service.HServices HServices) { this.CacheWraper = CacheWraper; this.HServices = HServices; }
/// <summary> /// 修改游戏团 /// </summary> /// <returns></returns> public bool ModifyGroup(Kt.GameGroup.Model.ViewModel.ModifyGroupInfo GroupInfo, HttpPostedFileBase imagefile) { Kt.GameGroup.Data.group_Infor groupInfos = this.GroupInforRepository.Where(m => m.gId == GroupInfo.gId).First(); groupInfos.gName = GroupInfo.gName; //groupInfos.gPic = GroupInfo.gPic; groupInfos.account = GroupInfo.account; groupInfos.notice = GroupInfo.notice; groupInfos.gameId = GroupInfo.gameId; groupInfos.gameserverid = GroupInfo.gameserverid; groupInfos.platFormId = GroupInfo.platFormId; groupInfos.joinPerm = GroupInfo.joinPerm; groupInfos.viewPerm = GroupInfo.viewPerm; if (this.GroupInforRepository.Update(groupInfos) == null) { return false; } else { //调用上传图片函数,更新图片 #region 上传图片到服务器 if (imagefile != null && imagefile.ContentLength != 0) UploadGroupICO(imagefile.InputStream, imagefile.FileName, GroupInfo.gId); #endregion return true; } //throw new NotImplementedException(); }