Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
 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");
 }
Beispiel #3
0
 /// <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);
     }
 }
Beispiel #4
0
        /// <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");
        }
Beispiel #5
0
 public IndexController(Kt.Framework.State.ICacheWraper CacheWraper, HelloWorld.Service.HServices HServices)
 {
     this.CacheWraper = CacheWraper;
     this.HServices = HServices;
 }
Beispiel #6
0
        /// <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();
        }