Esempio n. 1
0
        public void AddCheckpoint_Success_Test()
        {
            // Arrange
            CheckpointDTO dto = SampleCheckpointDTO(1);

            // create mock for repository
            var mock = new Mock <ICheckpointRepository>();

            mock.Setup(s => s.AddCheckpoint(Moq.It.IsAny <R_Checkpoint>())).Returns(1);

            // service
            CheckpointService checkpointService = new CheckpointService();

            CheckpointService.Repository = mock.Object;

            // Act
            int id = checkpointService.AddCheckpoint(dto);

            // Assert
            Assert.AreEqual(1, id);
            Assert.AreEqual(1, dto.CheckpointId);
        }
Esempio n. 2
0
        public void DeleteCheckpoint(CheckpointDTO dto)
        {
            try
            {
                log.Debug(CheckpointDTO.FormatCheckpointDTO(dto));

                R_Checkpoint t = CheckpointDTO.ConvertDTOtoEntity(dto);

                // delete
                Repository.DeleteCheckpoint(t);
                dto.IsDeleted = t.IsDeleted;

                log.Debug("result: 'success'");
            }
            catch (System.Exception e)
            {
                // error
                log.Error(e.ToString());

                throw;
            }
        }
Esempio n. 3
0
        public void Delete()
        {
            //Arrange
            CheckpointDTO model = new CheckpointDTO()
            {
                ID          = id,
                IP          = "192.168.0.1",
                Campus      = 1,
                Row         = 4,
                Description = "На 4 этаже, 425 аудитория",
                Status      = "Отметка",
                Admissions  = new List <Admission>(),
                Type        = new TypeDTO(),
            };

            //Act
            var result = (RedirectToRouteResult)controllerWEB.Delete(model);

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
Esempio n. 4
0
 public CheckpointViewModel(CheckpointDTO t, string editUrl)
 {
     CheckpointId         = t.CheckpointId;
     PlannedRouteId       = t.PlannedRouteId;
     Name                 = t.Name;
     OrderNumber          = t.OrderNumber;
     Latitude             = t.Latitude;
     Longitude            = t.Longitude;
     AddressId            = t.AddressId;
     EstimatedTimeArrival = t.EstimatedTimeArrival;
     MinimumTime          = t.MinimumTime;
     MaximumTime          = t.MaximumTime;
     NucleoId             = t.NucleoId;
     SupplierId           = t.SupplierId;
     Active               = t.Active;
     IsDeleted            = t.IsDeleted;
     CreateBy             = t.CreateBy;
     CreateOn             = t.CreateOn;
     UpdateBy             = t.UpdateBy;
     UpdateOn             = t.UpdateOn;
     EditUrl              = editUrl;
 }
Esempio n. 5
0
        public void GetCheckpoint_Success_Test()
        {
            // Arrange
            int          id         = 1;
            R_Checkpoint checkpoint = SampleCheckpoint(id);

            // create mock for repository
            var mock = new Mock <ICheckpointRepository>();

            mock.Setup(s => s.GetCheckpoint(Moq.It.IsAny <int>())).Returns(checkpoint);

            // service
            CheckpointService checkpointService = new CheckpointService();

            CheckpointService.Repository = mock.Object;

            // Act
            CheckpointDTO result = checkpointService.GetCheckpoint(id);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.CheckpointId);
        }
Esempio n. 6
0
        public void DeleteCheckpoint_Success_Test()
        {
            // Arrange
            CheckpointDTO dto = SampleCheckpointDTO(1);

            dto.IsDeleted = false;

            // create mock for repository
            var mock = new Mock <ICheckpointRepository>();

            mock.Setup(s => s.DeleteCheckpoint(Moq.It.IsAny <R_Checkpoint>())).Verifiable();

            // service
            CheckpointService checkpointService = new CheckpointService();

            CheckpointService.Repository = mock.Object;

            // Act
            checkpointService.DeleteCheckpoint(dto);

            // Assert
            Assert.IsTrue(true);
        }
Esempio n. 7
0
        public void Put_Invalid_API()
        {
            //Arrange
            int           newid = 2;
            CheckpointDTO item  = new CheckpointDTO()
            {
                ID          = newid,
                IP          = "192.168.0.15",
                Campus      = 3,
                Row         = 4,
                Description = "На 4 этаже, 425 аудитория",
                Status      = "Отметка",
                Type        = (TypeDTO)types[0],
                Admissions  = admissions
            };

            //Act
            var actionResult  = controllerAPI.Put(id, item);
            var contentResult = actionResult as BadRequestResult;

            //Assert
            Assert.IsNotNull(contentResult);
        }
        public IHttpActionResult Post([FromBody] ActivityAPIModel item)
        {
            if (item != null)
            {
                CheckpointDTO checkpoint = checkpointService.GetByIP(item.CheckpointIP);
                IdentityDTO   identity   = null;
                if (!string.IsNullOrEmpty(item.GUID))
                {
                    identity = identityService.GetByGUID(item.GUID);
                }
                else
                {
                    return(BadRequest());
                }
                if (identity != null)
                {
                    string picturePath = "/Content/uploads/" + identity.Picture;
                    int    code        = activityService.IsOk(checkpoint, identity);
                    switch (code)
                    {
                    case 200:
                        return(Ok(identity));

                    case 500:
                        return(Content(HttpStatusCode.BadRequest, "Permission denied"));

                    default:
                        return(Ok());
                    }
                }
                else
                {
                    return(Content(HttpStatusCode.BadRequest, "Object does not exist"));
                }
            }
            return(BadRequest());
        }
Esempio n. 9
0
        public void UpdateCheckpoint(CheckpointDTO dto)
        {
            try
            {
                //Requires.NotNull(t);
                //Requires.PropertyNotNegative(t, "CheckpointId");

                log.Debug(CheckpointDTO.FormatCheckpointDTO(dto));

                R_Checkpoint t = CheckpointDTO.ConvertDTOtoEntity(dto);

                // update
                Repository.UpdateCheckpoint(t);

                log.Debug("result: 'success'");
            }
            catch (System.Exception e)
            {
                // error
                log.Error(e.ToString());

                throw;
            }
        }
Esempio n. 10
0
        public void Put_Valid_API()
        {
            //Arrange
            CheckpointDTO item = new CheckpointDTO()
            {
                ID          = id,
                IP          = "192.168.0.15",
                Campus      = 3,
                Row         = 4,
                Description = "На 4 этаже, 425 аудитория",
                Status      = "Отметка",
                Type        = (TypeDTO)types[0],
                Admissions  = admissions
            };

            //Act
            var actionResult  = controllerAPI.Put(id, item);
            var contentResult = actionResult as OkNegotiatedContentResult <CheckpointDTO>;

            //Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.IsInstanceOfType(contentResult.Content, typeof(CheckpointDTO));
        }
        /// <summary>
        /// Implements <see cref="ICheckpointService.Edit(CheckpointDTO)"/>.
        /// </summary>
        public void Edit(CheckpointDTO model)
        {
            Database.Checkpoint.Update(new Checkpoint
            {
                ID          = model.ID,
                IP          = model.IP,
                Campus      = model.Campus,
                Classroom   = model.Classroom,
                Section     = model.Section,
                Description = model.Description,
                Row         = model.Row,
                Status      = model.Status,
                TypeID      = model.Type.ID
            });
            Database.Save();
            Checkpoint checkpoint = Database.Checkpoint.GetAll().Where(d => d.IP == model.IP).FirstOrDefault();

            if (checkpoint != null)
            {
                int checkpointID = checkpoint.ID;
                foreach (var item in Database.CheckpointAdmission.GetAll().Where(x => x.CheckpointID == model.ID))
                {
                    Database.CheckpointAdmission.Delete(item.ID);
                }
                Database.Save();
                foreach (var item in model.Admissions)
                {
                    Database.CheckpointAdmission.Create(new CheckpointAdmission
                    {
                        AdmissionID  = item.ID,
                        CheckpointID = checkpointID
                    });
                }
                Database.Save();
            }
        }
Esempio n. 12
0
        public void Is_OK_Security_Prohibited()
        {
            //Arrange
            CheckpointDTO checkpoint = new CheckpointDTO()
            {
                ID          = 1,
                IP          = "192.168.0.1",
                Campus      = 1,
                Row         = 4,
                Description = "На 4 этаже, 425 аудитория",
                Status      = "Отметка",
                Type        = (TypeDTO)itemsType[0],
                Admissions  = itemsAdmission
            };
            IdentityDTO identity = new IdentityDTO()
            {
                ID         = 2,
                GUID       = "2",
                Picture    = "cat.jpg",
                Name       = "Сидр",
                Surname    = "Сидоров",
                Midname    = "Сидорович",
                Gender     = true,
                Birthdate  = Convert.ToDateTime("2000-01-25"),
                Country    = "Россия",
                City       = "Саратов",
                Department = "ИнПИТ",
                Group      = "ИФСТ",
                Status     = "Отчислен",
                Email      = "*****@*****.**",
                Phone      = "+79993499334",
                Role       = "Студент"
            };
            List <CheckpointAdmission> admissions = new List <CheckpointAdmission>()
            {
                new CheckpointAdmission
                {
                    ID           = 1,
                    CheckpointID = 2,
                    AdmissionID  = 1
                },
                new CheckpointAdmission
                {
                    ID           = 2,
                    CheckpointID = 2,
                    AdmissionID  = 2
                }
            };

            unitWorkMoq.Setup(x => x.Type.Get(1)).Returns(itemsType[0]);
            unitWorkMoq.Setup(x => x.Type.Get(2)).Returns(itemsType[1]);
            unitWorkMoq.Setup(x => x.Type.Get(3)).Returns(itemsType[2]);
            unitWorkMoq.Setup(x => x.Activity.GetAll())
            .Returns(itemsActivity.Where(x => x.IdentityGUID == id.ToString()));
            unitWorkMoq.Setup(x => x.CheckpointAdmission.GetAll())
            .Returns(admissions.Where(x => x.CheckpointID == checkpoint.ID));
            unitWorkMoq.Setup(x => x.Admission.GetAll()).Returns(itemsAdmission);

            //Act
            var result = serviceMock.IsOk(checkpoint, identity);

            //Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(int));
            Assert.AreEqual(500, result);
        }
Esempio n. 13
0
        public void GetCheckpointListAdvancedSearch_Success_Test()
        {
            // Arrange
            int?   plannedRouteId       = null;
            string name                 = null;
            int?   orderNumber          = null;
            double?latitude             = null;
            double?longitude            = null;
            int?   addressId            = null;
            int?   estimatedTimeArrival = null;

            System.DateTime?minimumTimeFrom = null;
            System.DateTime?minimumTimeTo   = null;
            System.DateTime?maximumTimeFrom = null;
            System.DateTime?maximumTimeTo   = null;
            int?            nucleoId        = null;
            int?            supplierId      = null;
            bool?           active          = null;

            //int pageIndex = 0;
            int pageSize = 10;

            // list
            IList <R_Checkpoint> list = new List <R_Checkpoint>();

            for (int i = 1; i <= pageSize; i++)
            {
                list.Add(SampleCheckpoint(i));
            }

            // create mock for repository
            var mock = new Mock <ICheckpointRepository>();

            mock.Setup(s => s.GetCheckpointListAdvancedSearch(
                           Moq.It.IsAny <int?>()               // plannedRouteId
                           , Moq.It.IsAny <string>()           // name
                           , Moq.It.IsAny <int?>()             // orderNumber
                           , Moq.It.IsAny <double?>()          // latitude
                           , Moq.It.IsAny <double?>()          // longitude
                           , Moq.It.IsAny <int?>()             // addressId
                           , Moq.It.IsAny <int?>()             // estimatedTimeArrival
                           , Moq.It.IsAny <System.DateTime?>() // minimumTimeFrom
                           , Moq.It.IsAny <System.DateTime?>() // minimumTimeTo
                           , Moq.It.IsAny <System.DateTime?>() // maximumTimeFrom
                           , Moq.It.IsAny <System.DateTime?>() // maximumTimeTo
                           , Moq.It.IsAny <int?>()             // nucleoId
                           , Moq.It.IsAny <int?>()             // supplierId
                           , Moq.It.IsAny <bool?>()            // active
                           )).Returns(list);

            // service
            CheckpointService checkpointService = new CheckpointService();

            CheckpointService.Repository = mock.Object;

            // Act
            var resultList = checkpointService.GetCheckpointListAdvancedSearch(
                plannedRouteId
                , name
                , orderNumber
                , latitude
                , longitude
                , addressId
                , estimatedTimeArrival
                , minimumTimeFrom
                , minimumTimeTo
                , maximumTimeFrom
                , maximumTimeTo
                , nucleoId
                , supplierId
                , active
                );

            CheckpointDTO result = resultList.FirstOrDefault();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.CheckpointId);
        }
Esempio n. 14
0
        /// <summary>
        /// Implements <see cref="IActivityService.IsOk(CheckpointDTO, IdentityDTO)()"/>.
        /// </summary>
        public int IsOk(CheckpointDTO checkpoint, IdentityDTO identity)
        {
            Type checkpointType = Database.Type.Get(checkpoint.Type.ID);

            /* Codes:
             * -1 -- Ok. No response
             * 200 -- Ok. Return response
             * 500 -- Fail. Permission denied */
            switch (checkpointType.Status)
            {
            case "Пропускной":
                if (IsPassed(identity.GUID))
                {
                    Create(new Activity
                    {
                        CheckpointIP = checkpoint.IP,
                        Date         = System.DateTime.Now,
                        IdentityGUID = identity.GUID,
                        ModeID       = 3,
                        Status       = true
                    });
                    return(-1);
                }
                else
                {
                    if (IsAdmission(checkpoint.ID, identity.Role))
                    {
                        Create(new Activity
                        {
                            CheckpointIP = checkpoint.IP,
                            Date         = System.DateTime.Now,
                            IdentityGUID = identity.GUID,
                            ModeID       = 1,
                            Status       = true
                        });
                        return(200);
                    }
                    return(500);
                }

            case "Лекционный":
                if (IsInClassroom(identity.GUID))
                {
                    Create(new Activity
                    {
                        CheckpointIP = checkpoint.IP,
                        Date         = System.DateTime.Now,
                        IdentityGUID = identity.GUID,
                        ModeID       = 5,
                        Status       = true
                    });
                    return(-1);
                }
                else
                {
                    Create(new Activity
                    {
                        CheckpointIP = checkpoint.IP,
                        Date         = System.DateTime.Now,
                        IdentityGUID = identity.GUID,
                        ModeID       = 4,
                        Status       = true
                    });
                    return(-1);
                }

            default:
                Create(new Activity
                {
                    CheckpointIP = checkpoint.IP,
                    Date         = System.DateTime.Now,
                    IdentityGUID = identity.GUID,
                    ModeID       = 3,
                    Status       = true
                });
                return(-1);
            }
        }