示例#1
0
        public void Excuse_CheckConstructors()
        {
            Excuse e = new Excuse();

            Assert.AreEqual(0, e.CreatorId);
            Assert.IsNotNull(e.Ticks);
            Assert.AreEqual(0, e.Ticks.Count);
            Assert.IsNull(e.RequestTick);

            Tick        t1    = new Tick();
            Tick        t2    = new Tick();
            Tick        t3    = new Tick();
            Tick        t4    = new Tick();
            List <Tick> ticks = new List <Tick> {
                t1, t2, t3
            };

            e = new Excuse(10, ticks, t4);
            Assert.AreEqual(10, e.CreatorId);
            Assert.IsNotNull(e.Ticks);
            Assert.AreEqual(3, e.Ticks.Count);
            Assert.AreSame(t1, e.Ticks[0]);
            Assert.AreSame(t2, e.Ticks[1]);
            Assert.AreSame(t3, e.Ticks[2]);
            Assert.AreSame(t4, e.RequestTick);
        }
        public async Task <IHttpActionResult> PutExcuse(int id, Excuse excuse)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != excuse.Id)
            {
                return(BadRequest());
            }

            db.Entry(excuse).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ExcuseExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#3
0
        public void DeleteExcuse(int id)
        {
            Excuse excuse = Context.Excuses.FirstOrDefault(e => e.Id == id);

            Context.Excuses.Remove(excuse);
            Context.SaveChanges();
        }
示例#4
0
        public void Excuse_CheckEncodeAndDecode()
        {
            Tick        t1    = new Tick();
            Tick        t2    = new Tick();
            Tick        t3    = new Tick();
            Tick        t4    = new Tick();
            List <Tick> ticks = new List <Tick> {
                t1, t2, t3
            };
            Excuse e1 = new Excuse(10, ticks, t4);

            Assert.AreEqual(10, e1.CreatorId);
            Assert.IsNotNull(e1.Ticks);
            Assert.AreEqual(3, e1.Ticks.Count);
            Assert.AreSame(t1, e1.Ticks[0]);
            Assert.AreSame(t2, e1.Ticks[1]);
            Assert.AreSame(t3, e1.Ticks[2]);
            Assert.AreSame(t4, e1.RequestTick);

            ByteList bytes = new ByteList();

            e1.Encode(bytes);
            Excuse e2 = Excuse.Create(bytes);

            Assert.AreEqual(e1.CreatorId, e2.CreatorId);
            Assert.AreEqual(e1.Ticks.Count, e2.Ticks.Count);
            Assert.AreEqual(e1.Ticks[0].LogicalClock, e2.Ticks[0].LogicalClock);
            Assert.AreEqual(e1.Ticks[0].HashCode, e2.Ticks[0].HashCode);
            Assert.AreEqual(e1.Ticks[1].LogicalClock, e2.Ticks[1].LogicalClock);
            Assert.AreEqual(e1.Ticks[1].HashCode, e2.Ticks[1].HashCode);
            Assert.AreEqual(e1.Ticks[2].LogicalClock, e2.Ticks[2].LogicalClock);
            Assert.AreEqual(e1.Ticks[2].HashCode, e2.Ticks[2].HashCode);
            Assert.AreEqual(e1.RequestTick.LogicalClock, e2.RequestTick.LogicalClock);
            Assert.AreEqual(e1.RequestTick.HashCode, e2.RequestTick.HashCode);

            bytes.Clear();
            e1.Encode(bytes);
            bytes.GetByte();            // Read one byte, which will throw the length off
            try
            {
                e2 = Excuse.Create(bytes);
                Assert.Fail("Expected an exception to be thrown");
            }
            catch (ApplicationException)
            {
            }

            bytes.Clear();
            e1.Encode(bytes);
            bytes.Add((byte)100);       // Add a byte
            bytes.GetByte();            // Read one byte, which will make the ID wrong
            try
            {
                e2 = Excuse.Create(bytes);
                Assert.Fail("Expected an exception to be thrown");
            }
            catch (ApplicationException)
            {
            }
        }
示例#5
0
 public void Update(int ExcuseId, Excuse excuse)
 {
     try
     {
         if (excuse != null)
         {
             var Old = _context.Excuses.Include(e => e.Employee).ThenInclude(e => e.Profession)
                       .FirstOrDefault(e => e.ID == ExcuseId);
             excuse.EmployeeID            = Old.EmployeeID;
             _context.Entry(Old).State    = EntityState.Detached;
             _context.Entry(excuse).State = EntityState.Modified;
             _context.SaveChanges();
         }
         else
         {
             var response = new HttpResponseMessage(HttpStatusCode.NotFound)
             {
                 Content    = new StringContent("Excuse doesn't exist", System.Text.Encoding.UTF8, "text/plain"),
                 StatusCode = HttpStatusCode.NotFound
             };
             throw new HttpResponseException(response);
         }
     }
     catch (Exception ex)
     {
         msg = ex.Message;
     }
 }
示例#6
0
 async public void NewExcuseAsync()
 {
     CurrentExcuse = new Excuse();
     excuseFile    = null;
     OnPropertyChanged("CurrentExcuse");
     await UpdateFileDateAsync();
 }
示例#7
0
 private void random_Click_Click(object sender, EventArgs e)
 {
     if (CheckChanged())
     {
         currentExcuse = new Excuse(random, selectedFolder);
         UpdateForm(false);
     }
 }
        public async Task <IHttpActionResult> GetExcuse(int id)
        {
            Excuse excuse = await db.Excuses.FindAsync(id);

            if (excuse == null)
            {
                return(NotFound());
            }

            return(Ok(excuse));
        }
        public async Task <IHttpActionResult> PostExcuse(Excuse excuse)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            db.Excuses.Add(excuse);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = excuse.Id }, excuse));
        }
示例#10
0
        public async Task AddExcuseAsync([Dense] string text)
        {
            var excuse = new Excuse
            {
                CreatorId      = Author.Id,
                ExcuseText     = text,
                SubmissionTime = DateTime.Now
            };
            await Database.Insert(excuse);

            await ReplyAsync(ExcuseText.ADD_SUCCESS, ReplyType.Success, excuse.Id);
        }
示例#11
0
        public async Task AddExcuseAsync([Dense] string text)
        {
            var excuse = new Excuse
            {
                CreatorId      = Author.Id,
                ExcuseText     = text,
                SubmissionTime = DateTime.Now
            };
            await Database.Insert(excuse);

            await ReplyAsync($"Added the excuse as #{excuse.Id}", ReplyType.Success);
        }
示例#12
0
 public ActionResult PutExcuse(int id, [FromBody] Excuse excuse)
 {
     if (excuse.Id == id)
     {
         Repository.PutExcuse(id, excuse);
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }
示例#13
0
        private ExcuseResponse GenerateExcuseResponseOrDefault(Excuse excuse, string name)
        {
            var body = excuse?.Body.AddName(name) ??
                       "It look like there is no match for your searching! You just have to come up with an excuse yourself.";

            return(new ExcuseResponse()
            {
                Id = excuse?.Id,
                Body = body,
                Name = name
            });
        }
示例#14
0
 public ActionResult PostExcuse([FromBody] Excuse excuse)
 {
     try
     {
         Repository.PostExcuse(excuse);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
示例#15
0
        public IActionResult GetExcuse()
        {
            IDbRepoInstantiator factory = HttpContext.RequestServices.GetService(typeof(IDbRepoInstantiator)) as IDbRepoInstantiator;
            Excuse givenExcuse          = new Excuse();

            try
            {
                givenExcuse = factory.GetExcuseRepo(Program.AppLogger).GetAnExcuse();
            }
            catch (Exception) {
            }
            return(Json(givenExcuse));
        }
        public async Task <IHttpActionResult> DeleteExcuse(int id)
        {
            Excuse excuse = await db.Excuses.FindAsync(id);

            if (excuse == null)
            {
                return(NotFound());
            }

            db.Excuses.Remove(excuse);
            await db.SaveChangesAsync();

            return(Ok(excuse));
        }
示例#17
0
        public ActionResult DeleteExcuse(int id)
        {
            Excuse excuse = Context.Excuses.FirstOrDefault(e => e.Id == id);

            if (excuse != null)
            {
                Repository.DeleteExcuse(id);
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
示例#18
0
        private void open_Click_Click(object sender, EventArgs e)
        {
            if (CheckChanged())
            {
                openFileDialog1.InitialDirectory = selectedFolder;
                openFileDialog1.Filter           = "Pliki tekstowe (*.txt)|*.txt|Wszystkie pliki (*.*)|*.*";
                openFileDialog1.FileName         = description.Text;

                DialogResult result = openFileDialog1.ShowDialog();
                if (result == DialogResult.OK)
                {
                    currentExcuse = new Excuse(openFileDialog1.FileName);
                    UpdateForm(false);
                }
            }
        }
        private void outButton_Click(object sender, EventArgs e)
        {
            Excuse excuse = new Excuse();

            try
            {
                excuse.exportDoc();
                LogHelper.WriteLog(typeof(PreviewResult), "用户导出请假条成功  " + GlobalData.getExcuseInfo());
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(typeof(PreviewResult), ex);
            }

            this.Hide();
        }
示例#20
0
        public async Task <IActionResult> PutExcuse(int id, Excuse excuse)
        {
            if (id != excuse.ID)
            {
                return(BadRequest());
            }

            var Old = _context.Excuses.Include(e => e.Employee).ThenInclude(e => e.Profession)
                      .FirstOrDefault(e => e.ID == id);

            //Excuse NewExcuse = new Excuse
            //{
            //    Approved = Old.Approved,
            //    Comment = Old.Comment,
            //    Date = Old.Date,
            //    Employee = Old.Employee,
            //    EmployeeID = Old.EmployeeID,
            //    Hours = Old.Hours,
            //    Time = Old.Time
            //};
            excuse.EmployeeID            = Old.EmployeeID;
            excuse.Employee              = Old.Employee;
            _context.Entry(Old).State    = EntityState.Detached;
            _context.Entry(excuse).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ExcuseExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#21
0
        public async Task <ActionResult <Excuse> > PostExcuse(Excuse excuse)
        {
            if (excuse.EmployeeID == 0)
            {
                //  System.Security.Claims.ClaimsPrincipal currentUser = this.User;
                var email    = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value;
                var lstUsers = _context.Employees.Where(e => e.Email == email).ToList();
                if (lstUsers.Count > 0)
                {
                    var emp = lstUsers[0];
                    excuse.Employee   = emp;
                    excuse.EmployeeID = emp.ID;
                }
            }

            _context.Excuses.Add(excuse);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetExcuse", new { id = excuse.ID }, excuse));
        }
示例#22
0
 public void Add(Excuse excuse)
 {
     try
     {
         if (excuse != null)
         {
             _context.Excuses.Add(excuse);
             _context.SaveChanges();
         }
         else
         {
             var response = new HttpResponseMessage(HttpStatusCode.NotFound)
             {
                 Content    = new StringContent("Excuse doesn't exist", System.Text.Encoding.UTF8, "text/plain"),
                 StatusCode = HttpStatusCode.NotFound
             };
             throw new HttpResponseException(response);
         }
     }
     catch (Exception ex)
     {
         msg = ex.Message;
     }
 }
示例#23
0
        public void Excuse_CheckProperties()
        {
            Tick        t1    = new Tick();
            Tick        t2    = new Tick();
            Tick        t3    = new Tick();
            Tick        t4    = new Tick();
            List <Tick> ticks = new List <Tick> {
                t1, t2, t3
            };
            Excuse e = new Excuse(10, ticks, t4);

            Assert.AreEqual(10, e.CreatorId);
            Assert.IsNotNull(e.Ticks);
            Assert.AreEqual(3, e.Ticks.Count);
            Assert.AreSame(t1, e.Ticks[0]);
            Assert.AreSame(t2, e.Ticks[1]);
            Assert.AreSame(t3, e.Ticks[2]);
            Assert.AreSame(t4, e.RequestTick);

            e.CreatorId = 135;
            Assert.AreEqual(135, e.CreatorId);
            e.CreatorId = 0;
            Assert.AreEqual(0, e.CreatorId);
            e.CreatorId = Int16.MaxValue;
            Assert.AreEqual(Int16.MaxValue, e.CreatorId);

            e.Ticks = null;
            Assert.IsNull(e.Ticks);
            e.Ticks = ticks;
            Assert.AreSame(ticks, e.Ticks);

            e.RequestTick = null;
            Assert.IsNull(e.RequestTick);
            e.RequestTick = t4;
            Assert.AreSame(t4, e.RequestTick);
        }
示例#24
0
 public ExcuseViewModel(Excuse givenExcuse)
 {
     Model = givenExcuse;
 }
示例#25
0
文件: Program.cs 项目: Fedakope/Tarot
        static void GenererDeck()
        {
            string[] Color    = { "carreaux", "coeur", "pique", "trefle" };
            int[]    Strenght = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; //Range?

            foreach (var couleur in Color)
            {
                foreach (var force in Strenght)
                {
                    Dex.Add(new Chiffres(couleur, force));
                }
            }

            Console.WriteLine("Les chiffres ont bien été generés le deck fait " + Dex.Count + " cartes.");


            IEnumerable <int> atouts = Enumerable.Range(1, 21);
            List <Atout>      Deck   = new List <Atout>();

            foreach (int num in atouts)
            {
                Dex.Add(new Atout(num));
            }
            Console.WriteLine("Les atouts ont bien été generés le deck fait " + Dex.Count + " cartes.");


            Excuse excuse = new Excuse();

            Dex.Add(excuse);
            Console.WriteLine("L'excuse a bien été générée le deck fait" + Dex.Count + " cartes.");

            #region "Tableau contenant tous les noms propres des cartes"
            string[] noms = new string[78];
            noms[0]  = "As de carreau";
            noms[1]  = "Deux de carreau";
            noms[2]  = "Trois de carreau";
            noms[3]  = "Quatre de carreau";
            noms[4]  = "Cinq de carreau";
            noms[5]  = "Six de carreau";
            noms[6]  = "Sept de carreau";
            noms[7]  = "Huit de carreau";
            noms[8]  = "Neuf de carreau";
            noms[9]  = "Dix de carreau";
            noms[10] = "Valet de carreau";
            noms[11] = "Cavalier de carreau";
            noms[12] = "Dame de carreau";
            noms[13] = "Roi de carreau";

            noms[14] = "As de coeur";
            noms[15] = "Deux de coeur";
            noms[16] = "Trois de coeur";
            noms[17] = "Quatre de coeur";
            noms[18] = "Cinq de coeur";
            noms[19] = "Six de coeur";
            noms[20] = "Sept de coeur";
            noms[21] = "Huit de coeur";
            noms[22] = "Neuf de coeur";
            noms[23] = "Dix de coeur";
            noms[24] = "Valet de coeur";
            noms[25] = "Cavalier de coeur";
            noms[26] = "Dame de coeur";
            noms[27] = "Roi de coeur";

            noms[28] = "As de pique";
            noms[29] = "Deux de pique";
            noms[30] = "Trois de pique";
            noms[31] = "Quatre de pique";
            noms[32] = "Cinq de pique";
            noms[33] = "Six de pique";
            noms[34] = "Sept de pique";
            noms[35] = "Huit de pique";
            noms[36] = "Neuf de pique";
            noms[37] = "Dix de pique";
            noms[38] = "Valet de pique";
            noms[39] = "Cavalier de pique";
            noms[40] = "Dame de pique";
            noms[41] = "Roi de pique";

            noms[42] = "As de trèfle";
            noms[43] = "Deux de trèfle";
            noms[44] = "Trois de trèfle";
            noms[45] = "Quatre de trèfle";
            noms[46] = "Cinq de trèfle";
            noms[47] = "Six de trèfle";
            noms[48] = "Sept de trèfle";
            noms[49] = "Huit de trèfle";
            noms[50] = "Neuf de trèfle";
            noms[51] = "Dix de trèfle";
            noms[52] = "Valet de trèfle";
            noms[53] = "Cavalier de trèfle";
            noms[54] = "Dame de trèfle";
            noms[55] = "Roi de trèfle";

            noms[56] = "Atout : 1 - Le Petit";
            noms[57] = "Atout : 2";
            noms[58] = "Atout : 3";
            noms[59] = "Atout : 4";
            noms[60] = "Atout : 5";
            noms[61] = "Atout : 6";
            noms[62] = "Atout : 7";
            noms[63] = "Atout : 8";
            noms[64] = "Atout : 9";
            noms[65] = "Atout : 10";
            noms[66] = "Atout : 11";
            noms[67] = "Atout : 12";
            noms[68] = "Atout : 13";
            noms[69] = "Atout : 14";
            noms[70] = "Atout : 15";
            noms[71] = "Atout : 16";
            noms[72] = "Atout : 17";
            noms[73] = "Atout : 18";
            noms[74] = "Atout : 19";
            noms[75] = "Atout : 20";
            noms[76] = "Atout : 21";

            noms[77] = "Excuse";

            #endregion

            for (int i = 0; i < Dex.Count(); i++)
            {
                Dex[i].nom = noms[i];
            }

            Console.WriteLine("Les noms ont bien été attribués. Retour au MENU ==> \n");
            Menu();
        } // Genere toutes les cartes et attribue les noms (methodes detailles dans "draft.cs")
示例#26
0
 public IActionResult PutExcuse(int id, Excuse excuse)
 {
     _excuseService.UpdateExcuse(id, excuse);
     return(CreatedAtAction("GetExcuse", new { id = excuse.ID }, excuse));
 }
示例#27
0
 public void AddExcuse(Excuse excuse)
 {
     _unitOfWork.excuse.Add(excuse);
 }
示例#28
0
 public void UpdateExcuse(int ExcuseId, Excuse excuse)
 {
     _unitOfWork.excuse.Update(ExcuseId, excuse);
 }
示例#29
0
        public ActionResult <Excuse> PostExcuse(Excuse excuse)
        {
            _excuseService.AddExcuse(excuse);

            return(CreatedAtAction("GetExcuse", new { id = excuse.ID }, excuse));
        }
示例#30
0
 public void PutExcuse(int id, Excuse excuse)
 {
     Context.Entry(excuse).State = EntityState.Modified;
     Context.SaveChanges();
 }