public async Task <IActionResult> Post([FromBody] MeetingDto meetingDto)
        {
            meetingDto.AdminId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "UserId").Value);
            var newMeeting = await _meetingService.InsertMeeting(meetingDto);

            return(Ok(new ApiResponse <MeetingDto>(meetingDto)));
        }
Exemple #2
0
        public async Task <ActionResult <Meeting> > PostMeeting(MeetingDto meetingDto)
        {
            var username = User.Identity.Name;
            var account  = await _accountsRepository.SelectByUsername(username);

            var meeting = new Meeting()
            {
                Name       = meetingDto.Name,
                ExpiryDate = meetingDto.ExpiryDate,
                MapPoint   = new Point(meetingDto.Longitude, meetingDto.Latitude)
                {
                    SRID = 4326
                },
                Address                 = meetingDto.Address,
                Description             = meetingDto.Description,
                AuthorId                = account.Id,
                CreationDate            = DateTime.Now,
                MaxNumberOfParticipants = meetingDto.MaxNumberOfParticipants,
                Participants            = new List <StudentifyAccount>()
            };

            meeting.CreationDate = DateTime.Now;

            await _meetingsRepository.Insert.One(meeting);

            return(CreatedAtAction(nameof(GetMeeting), new { id = meeting.Id }, meeting));
        }
Exemple #3
0
 private static bool CompareWithDto(MeetingGetDto m, MeetingDto dto)
 {
     if (m is null)
     {
         return(false);
     }
     if (dto is null)
     {
         return(false);
     }
     if (m.Name != dto.Name)
     {
         return(false);
     }
     if (m.ExpiryDate != dto.ExpiryDate)
     {
         return(false);
     }
     if (m.Description != dto.Description)
     {
         return(false);
     }
     if (m.Description != dto.Description)
     {
         return(false);
     }
     if (m.MaxNumberOfParticipants != dto.MaxNumberOfParticipants)
     {
         return(false);
     }
     return(true);
 }
        public async Task <ActionResult <MeetingDto> > Get(int id)
        {
            try
            {
                var result = await meetingService.GetAsync(id);

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

                MeetingDto meeting = new MeetingDto
                {
                    Id           = result.Id,
                    Topic        = result.Topic,
                    Date         = result.Date.Value.ToString("d"),
                    DateTime     = result.Date,
                    StartTime    = result.Date.Value.ToString("HH:mm"),
                    EndTime      = result.EndTime,
                    Participants = result.Participants.Select(y => new ParticipantDto {
                        Id = y.Id, Fullname = y.Fullname
                    }).ToArray()
                };

                return(meeting);
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure"));
            }
        }
Exemple #5
0
        public void Test_Passing_Valid_Values()
        {
            // ARRANGE
            IOrganisation organisation = new Organisation(
                id: Guid.NewGuid(),
                code: "CBC",
                name: "County Bridge Club",
                bgColour: "000000");
            IMeeting meeting = new Meeting(
                id: Guid.NewGuid(),
                committee: new Committee(
                    id: Guid.NewGuid(),
                    organisation: organisation,
                    name: "TSC",
                    description: "Tournament Sub-Committee"),
                meetingDateTime: new DateTime(2019, 12, 30, 19, 15, 00));

            // ACT
            MeetingDto meetingDto = MeetingDto.ToDto(meeting);

            // ASSERT
            Assert.AreEqual(meeting.Id, meetingDto.Id);
            Assert.AreEqual(meeting.Committee.Id, meetingDto.CommitteeId);
            Assert.AreEqual(meeting.MeetingDateTime, meetingDto.MeetingDateTime);
        }
Exemple #6
0
        public async Task <IActionResult> Create([FromBody] MeetingDto meeting)
        {
            var currentUser = await this.userContext.GetCurrentUser();

            if (!currentUser.CanCreateMeetings)
            {
                return(BadRequest());
            }

            try
            {
                await this.meetingBop.CreateMeeting(new CxMeetingModel()
                {
                    Id          = "",
                    Title       = meeting.Title,
                    Description = meeting.Description,
                    OwnerId     = currentUser.Id,
                    StartTime   = meeting.StartTime,
                    Duration    = meeting.Duration,
                    IsPublic    = meeting.IsPublic
                });
            }

            catch (Exception)
            {
                return(BadRequest());
            }


            return(Ok());
        }
 public void Create(MeetingDto meetingModel, AppType appType, Guid syncId)
 {
     var userName = securityService.GetCurrentUserName();
     switch ((MeetingType)meetingModel.MeetingType)
     {
         case MeetingType.Working:
             {
                 var command = RMSMapper.Map<MeetingDto, CreateWorkingMeetingCmd>(meetingModel);
                 command.AppType = appType;
                 command.ActionOwnerUserName = userName;
                 command.SyncId = syncId;
                 meetingService.CreateWorkingMeeting(command);
             }
             break;
         case MeetingType.NonWorking:
             {
                 var command = RMSMapper.Map<MeetingDto, CreateNonWorkingMeetingCmd>(meetingModel);
                 command.AppType = appType;
                 command.ActionOwnerUserName = userName;
                 command.SyncId = syncId;
                 meetingService.CreateNonWorkingMeeting(command);
             }
             break;
         default:
             throw new Exception("MeetingType is not set correctlly");
     }
 }
Exemple #8
0
        public IActionResult Post([FromBody] MeetingDto meeting)
        {
            var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            meeting.User = new UserForListDto {
                Id = currentUserId
            };

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var metetingToCreate = _mapper.Map <Meeting>(meeting);

            if (!_repo.IsDateAvaliable(metetingToCreate))
            {
                ModelState.AddModelError("Horário", "Horário indisponível, selecione outro horário!");
                return(BadRequest(ModelState));
            }


            var createdMeeting = _repo.Save(metetingToCreate);

            var meetingToReturn = _mapper.Map <MeetingDto>(createdMeeting);

            return(CreatedAtRoute("GetMeeting", new { controller = "Meeting", id = createdMeeting.Id }, meetingToReturn));
        }
        public async Task <IActionResult> AddMeeting(MeetingDto dto)
        {
            if (!Validation.IsValidName(dto.title))
            {
                return(BadRequest($"Error: {dto.title}"));
            }
            if (!DateTime.TryParseExact(dto.datetimestart, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture,
                                        DateTimeStyles.None, out DateTime datetimeStart))
            {
                return(BadRequest($"{dto.datetimestart} is not in an acceptable format."));
            }
            if (!DateTime.TryParseExact(dto.datetimeend, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture,
                                        DateTimeStyles.None, out DateTime datetimeEnd))
            {
                return(BadRequest($"{dto.datetimeend} is not in an acceptable format."));
            }
            if (datetimeStart > datetimeEnd)
            {
                return(BadRequest($"Error: {dto.datetimestart}>{dto.datetimeend}"));
            }

            db.Meetings.Add(new Meeting {
                Title = dto.title, DatetimeStart = datetimeStart, DatetimeEnd = datetimeEnd
            });
            await db.SaveChangesAsync();

            return(new OkObjectResult($"Meeting \"{dto.title}\" added"));
        }
Exemple #10
0
        public async Task <IActionResult> PutMeeting(int id, MeetingDto meetingDto)
        {
            Meeting meeting;

            try
            {
                meeting = await _meetingsRepository.Select.ById(id);
            }
            catch (DataException)
            {
                return(BadRequest());
            }

            meeting.Name                    = meetingDto.Name;
            meeting.ExpiryDate              = meetingDto.ExpiryDate;
            meeting.MapPoint.X              = meetingDto.Longitude;
            meeting.MapPoint.Y              = meetingDto.Latitude;
            meeting.Address                 = meetingDto.Address;
            meeting.Description             = meetingDto.Description;
            meeting.MaxNumberOfParticipants = meetingDto.MaxNumberOfParticipants;

            try
            {
                await _meetingsRepository.Update.One(meeting, id);
            }
            catch (DataException)
            {
                return(NotFound());
            }

            return(NoContent());
        }
Exemple #11
0
        public void Test_Passing_Valid_Values()
        {
            // ARRANGE
            OrganisationDto organisationDto = new OrganisationDto(
                id: Guid.NewGuid(),
                code: "CBC",
                name: "County Bridge Club",
                bgColour: "000000");
            CommitteeDto committeeDto = new CommitteeDto(
                id: Guid.NewGuid(),
                organisationId: organisationDto.Id,
                name: "TSC",
                description: "Tournament Sub-Committee",
                organisation: organisationDto);
            MeetingDto meetingDto = new MeetingDto(
                Guid.NewGuid(),
                committeeId: committeeDto.Id,
                meetingDateTime: new DateTime(2019, 12, 30, 19, 15, 00),
                committee: committeeDto);

            // ACT
            IMeeting meeting = meetingDto.ToDomain();

            // ASSERT
            Assert.IsNotNull(meeting);
            Assert.AreEqual(meetingDto.Id, meeting.Id);
            Assert.IsNotNull(meeting.Committee);
            Assert.AreEqual(meetingDto.CommitteeId, meeting.Committee.Id);
            Assert.AreEqual(meetingDto.MeetingDateTime, meeting.MeetingDateTime);
        }
        public ICollection <MeetingDto> SearchMeetings(MeetingDto searchCriteria)
        {
            if (searchCriteria == null)
            {
                Logger.Logger.LogError("Meetings searchCriteria is null!");
                throw new NSIException("Parameter searchCriteria is null!", Level.Error, ErrorType.InvalidParameter);
            }
            var meetings = from meeting in _dbContext.Meeting select meeting;

            if (searchCriteria.MeetingId != 0)
            {
                meetings = meetings.Where(x => x.MeetingId == searchCriteria.MeetingId);
            }

            if (!string.IsNullOrEmpty(searchCriteria.Title))
            {
                meetings = meetings.Where(x => x.Title.Contains(searchCriteria.Title));
            }

            if (searchCriteria.To != null)
            {
                meetings = meetings.Where(x => x.To.Value.Date == searchCriteria.To.Value.Date);
            }

            ICollection <MeetingDto> meetingsDto = new List <MeetingDto>();

            foreach (var item in meetings)
            {
                meetingsDto.Add(Mappers.MeetingsRepository.MapToDto(item));
            }
            return(meetingsDto);
        }
Exemple #13
0
        public async Task <MeetingDto> GetMeeting(int id)
        {
            var meeting = await _meetingRepository.GetMeeting(id);

            if (meeting == null)
            {
                return(null);
            }

            var meetingDto = new MeetingDto
            {
                MeetingId   = meeting.MeetingId,
                Description = meeting.Description,
                AdminId     = meeting.AdminId,
                Date        = meeting.Date,
                MaxPeople   = meeting.MaxPeople,
                City        = new CityDto
                {
                    CityId    = meeting.City.CityId,
                    Name      = meeting.City.Name,
                    Latitude  = meeting.City.Latitude,
                    Longitude = meeting.City.Longitude
                }
            };

            return(meetingDto);
        }
Exemple #14
0
        public static async Task <MeetingDto> GetMeetingById(int id)
        {
            Meeting entity = await MeetingRead.GetMeeting(id, a => a.Location, a => a.Organizer, a => a.Participants);

            MeetingDto result = Convert(entity);

            return(result);
        }
Exemple #15
0
        public async Task <IActionResult> Put(MeetingDto meetingDto)
        {
            var adminId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "UserId").Value);

            var result = await _meetingService.UpdateMeeting(meetingDto, adminId);

            return(Ok(new ApiResponse <bool>(result)));
        }
Exemple #16
0
 public static Meeting ToModel(this MeetingDto meeting) =>
 new Meeting
 {
     Id          = Guid.Parse(meeting.Id),
     UserId      = Guid.Parse(meeting.UserId),
     Start       = meeting.Start.ToDateTimeOffset(),
     End         = meeting.End.ToDateTimeOffset(),
     Name        = meeting.Name,
     Description = meeting.Descripton
 };
Exemple #17
0
        public override bool Equals(object o)
        {
            MeetingDto dto = o as MeetingDto;

            if (dto is null)
            {
                return(false);
            }
            return(CompareWithDto(this, dto));
        }
Exemple #18
0
        public void Test_Default_Constructor()
        {
            // ACT
            MeetingDto dto = new MeetingDto();

            // ASSERT
            Assert.AreEqual(Guid.Empty, dto.Id);
            Assert.AreEqual(Guid.Empty, dto.CommitteeId);
            Assert.AreEqual(DateTime.MinValue, dto.MeetingDateTime);
        }
        public MeetingDto InsertMeeting(MeetingDto model)
        {
            var entity_meeting = Mappers.MeetingsRepository.MapToDbEntity(model);

            _dbContext.Meeting.Add(entity_meeting);
            if (_dbContext.SaveChanges() > 0)
            {
                return(GetMeetingById(entity_meeting.MeetingId));
            }
            throw new NSIException("Error while inserting new meeting");
        }
Exemple #20
0
        public async Task <MeetingDto> InsertMeeting(MeetingDto meetingDto)
        {
            var meeting = new Meeting
            {
                MeetingId   = meetingDto.MeetingId,
                Description = meetingDto.Description,
                AdminId     = meetingDto.AdminId,
                Date        = meetingDto.Date,
                MaxPeople   = meetingDto.MaxPeople,
                City        = new City
                {
                    CityId    = meetingDto.City.CityId,
                    Name      = meetingDto.City.Name,
                    Latitude  = meetingDto.City.Latitude,
                    Longitude = meetingDto.City.Longitude
                }
            };

            try
            {
                // valido que por lo menos sea con un dia de diferncia la meeting
                if ((meeting.Date - DateTime.Now).TotalDays < 1)
                {
                    throw new ChallengeException("La fecha ingresada debe ser mayor a hoy.");
                }

                var inserted = await _meetingRepository.InsertMeeting(meeting);

                meetingDto.MeetingId = inserted.MeetingId;
                meetingDto.City      = new CityDto
                {
                    CityId    = inserted.City.CityId,
                    Name      = inserted.City.Name,
                    Latitude  = inserted.City.Latitude,
                    Longitude = inserted.City.Longitude
                };
                return(meetingDto);
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Ya existe"))
                {
                    throw new ChallengeException(ex.Message);
                }

                if (ex.Message.Contains("ciudad"))
                {
                    throw new ChallengeException(ex.Message);
                }
                throw;
            }
        }
Exemple #21
0
        public void GetMeetingTimes_ReturnsOK()
        {
            // Arrange
            int      id        = 123;
            string   title     = "naziv";
            string   meetPlace = "mjesto";
            DateTime from      = DateTime.Now;
            DateTime to        = DateTime.Now.AddDays(10);

            var usersOnMeeting = new List <UserMeetingDto>()
            {
                new UserMeetingDto()
                {
                    UserId = 1
                },
                new UserMeetingDto()
                {
                    UserId = 2
                },
                new UserMeetingDto()
                {
                    UserId = 3
                },
                new UserMeetingDto()
                {
                    UserId = 4
                }
            };

            var meeting = new MeetingDto()
            {
                MeetingId    = id,
                Title        = title,
                MeetingPlace = meetPlace,
                From         = from,
                To           = to,
                UserMeeting  = usersOnMeeting
            };
            var meetingRepo = new Mock <IMeetingsRepository>();

            meetingRepo.Setup(x => x.InsertMeeting(meeting));
            var meetingManipulation = new MeetingsManipulation(meetingRepo.Object);
            var controller          = new MeetingsController(meetingManipulation);

            // Act
            var result = controller.GetMeetingsTimes(new List <int> {
                1, 2, 3, 4
            }, from, to, 10, 123);

            // Assert
            Assert.IsType <OkObjectResult>(result);
        }
Exemple #22
0
        public Task <bool> Post([FromBody] MeetingDto value)
        {
            Meetings meetings = new Meetings
            {
                Agenda       = value.Agenda,
                Subject      = value.Subject,
                DateTime     = value.MeetingTime,
                CreatedBy    = value.UserID,
                UpdateDate   = DateTime.Now,
                AttendeesIds = value.Attendees
            };

            return(Task.FromResult(_meetingService.Add(meetings)));
        }
 public static void AreEqual_BaseMeetingDto(MeetingDto expect, MeetingDto actual)
 {
     Assert.AreEqual(expect.Subject, actual.Subject);
     Assert.AreEqual(expect.StartDate.ToString(CultureInfo.CurrentCulture),
         actual.StartDate.ToString(CultureInfo.CurrentCulture));
     Assert.AreEqual(expect.MeetingType, actual.MeetingType);
     Assert.AreEqual(expect.Duration, actual.Duration);
     Assert.AreEqual(expect.Description, actual.Description);
     Assert.AreEqual(expect.LocationAddress, actual.LocationAddress);
     Assert.AreEqual(expect.LocationLatitude, actual.LocationLatitude);
     Assert.AreEqual(expect.LocationLongitude, actual.LocationLongitude);
     Assert.AreEqual(expect.Agenda, actual.Agenda);
     Assert.AreEqual(expect.Attendees, actual.Attendees);
     
 }
Exemple #24
0
        /// <summary>
        /// Convert from Entity to DTO
        /// </summary>
        /// <param name="meetingEntity"></param>
        /// <returns></returns>
        public static MeetingDto Convert(Meeting meetingEntity)
        {
            MeetingDto result = new MeetingDto()
            {
                Id             = meetingEntity.Id,
                Title          = meetingEntity.Title,
                Description    = meetingEntity.Description,
                MeetingStart   = meetingEntity.MeetingStart,
                MeetingEnd     = meetingEntity.MeetingEnd,
                OrganizerRefId = meetingEntity.OrganizerRefId,
                LocationRefId  = meetingEntity.LocationRefId,
            };

            return(result);
        }
Exemple #25
0
        /// <summary>
        /// Convert from DTO to Entity
        /// </summary>
        /// <param name="meetingDto"></param>
        /// <returns></returns>
        public static Meeting Convert(MeetingDto meetingDto)
        {
            Meeting result = new Meeting()
            {
                Id             = meetingDto.Id,
                Title          = meetingDto.Title,
                Description    = meetingDto.Description,
                MeetingStart   = meetingDto.MeetingStart,
                MeetingEnd     = meetingDto.MeetingEnd,
                OrganizerRefId = meetingDto.OrganizerRefId,
                LocationRefId  = meetingDto.LocationRefId,
            };

            return(result);
        }
Exemple #26
0
        public Task <bool> Put(int id, [FromBody] MeetingDto value)
        {
            Meetings meetings = new Meetings
            {
                Agenda       = value.Agenda,
                Subject      = value.Subject,
                DateTime     = value.MeetingTime,
                CreatedBy    = 1,//value.UserId,
                UpdateDate   = DateTime.Now,
                AttendeesIds = value.Attendees,
                Id           = id
            };

            return(Task.FromResult(_meetingService.Update(meetings)));
        }
        public async Task <HttpResponseMessage> UpdateMeeting([FromBody] MeetingDto meetingDto)
        {
            HttpResponseMessage result;

            try
            {
                await MeetingService.UpdateMeeting(meetingDto);

                result = Request.CreateResponse(HttpStatusCode.Created);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                result = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message);
            }
            return(result);
        }
Exemple #28
0
        private static MeetingDto createBaseMeetingDto(DateTime startDate, int duration)
        {
            var dto = new MeetingDto
            {
                Subject = "TestMeeting",
                StartDate = startDate,
                Duration = duration,
                Description = "This is test Meeting that we want to have in this section",
                LocationAddress = "its test location for us to know ",
                LocationLatitude = 3.334433443,
                LocationLongitude = 4.33333333,
                Agenda = "this is test meeting agenda",
                Attendees = "ehsan mohammadi,reza akbari, davood shokri,mohammad reza bayat",
            };
            return dto;

        }
 public static Meeting MapToDbEntity(MeetingDto model)
 {
     return(new Meeting()
     {
         MeetingId = model.MeetingId,
         Title = model.Title,
         MeetingPlace = model.MeetingPlace,
         From = model.From,
         To = model.To,
         CreatedByUserId = 1,
         DateCreated = DateTimeOffset.UtcNow,
         UserMeeting = model.UserMeeting.Select(x => new UserMeeting()
         {
             UserId = x.UserId
         }).ToList()
     });
 }
        public MeetingDto UpdateMeeting(int meetingId, MeetingDto model)
        {
            var meeting = _dbContext.Meeting.FirstOrDefault(x => x.MeetingId == meetingId && x.IsDeleted == false);

            if (meeting == null)
            {
                throw new NSIException("Meeting not found");
            }
            //remove all users for this meeting from UserMeeting table
            var atendees = _dbContext.UserMeeting.Where(x => x.MeetingId == meetingId).ToList();

            if (atendees != null)
            {
                _dbContext.UserMeeting.RemoveRange(atendees);
            }

            //update data
            meeting.Title        = model.Title ?? meeting.Title;
            meeting.MeetingPlace = model.MeetingPlace ?? meeting.MeetingPlace;
            meeting.DateModified = DateTimeOffset.UtcNow;
            if (model.From != null)
            {
                meeting.From = model.From;
            }
            if (model.To != null)
            {
                meeting.To = model.To;
            }

            //update users
            foreach (var item in model.UserMeeting)
            {
                meeting.UserMeeting.Add(new UserMeeting()
                {
                    UserId = item.UserId, MeetingId = meetingId
                });
            }


            if (_dbContext.SaveChanges() > 0)
            {
                return(GetMeetingById(meeting.MeetingId));
            }
            throw new NSIException("Error while updating new meeting");
        }
Exemple #31
0
        public IActionResult Search([FromBody] MeetingsSearchModel model, int pageNumber, int pageSize)
        {
            try
            {
                if (model == null)
                {
                    throw new NSIException("MeetingSearchModel is null", DC.Exceptions.Enums.Level.Error, DC.Exceptions.Enums.ErrorType.InvalidParameter);
                }

                MeetingDto meetingDto = new MeetingDto()
                {
                    MeetingId   = model.MeetingId,
                    To          = model.To,
                    Title       = model.Title,
                    From        = model.From,
                    UserMeeting = model.UserMeeting.Select(x => new UserMeetingDto()
                    {
                        UserId   = x.UserId,
                        UserName = x.UserName
                    })
                };

                return(Ok(new NSIResponse <ICollection <MeetingDto> > {
                    Data = _meetingsManipulation.SearchMeetings(meetingDto, pageNumber, pageSize), Message = "Success"
                }));
            }
            catch (NSIException ex)
            {
                Logger.Logger.LogError(ex);
                if (ex.ErrorType == DC.Exceptions.Enums.ErrorType.MissingData)
                {
                    return(NoContent());
                }
                return(BadRequest(new NSIResponse <object> {
                    Data = null, Message = "Parameter error!"
                }));
            }
            catch (Exception ex)
            {
                Logger.Logger.LogError(ex);
                return(StatusCode(500, new NSIResponse <object> {
                    Data = null, Message = ex.Message
                }));
            }
        }
Exemple #32
0
        public async Task CreateMeetingAsync(Guid meetingId, DateTime meetingDateTime)
        {
            var dto = new MeetingDto
            {
                Id       = meetingId,
                DateTime = meetingDateTime
            };

            var response = await _client.PostAsJsonAsync(
                "", dto);

            if (!response.IsSuccessStatusCode)
            {
                var error = response.Content.ReadAsStringAsync().Result;

                throw new ApplicationException(error);
            }
        }
Exemple #33
0
        /// <inheritdoc/>
        public async Task CreateMeetingAsync(
            IWho who,
            IAuditHeaderWithAuditDetails auditHeader,
            IMeeting meeting)
        {
            this.logger.ReportEntry(
                who,
                new { Meeting = meeting });

            MeetingDto dto = MeetingDto.ToDto(meeting);

            this.context.Meetings.Add(dto);
            await this.context.SaveChangesAsync().ConfigureAwait(false);

            Audit.AuditCreate(auditHeader, dto, dto.Id);

            this.logger.ReportExit(who);
        }
        public void Delete(MeetingDto dto, AppType appType, Guid syncId)
        {
            var userName = securityService.GetCurrentUserName();
            var command = new DeleteMeetingCmd(dto.Id, userName, appType, syncId);
            meetingService.Delete(command);

        }
 public static void AreEqual_State(MeetingStateEnum state, MeetingDto actual)
 {
     Assert.AreEqual(state,actual.State);
 }
        public static void AreEqual_WorkingMeetingDto(MeetingDto expect, MeetingDto actual)
        {
            Assert.AreEqual(expect.Decisions, actual.Decisions);
            Assert.AreEqual(expect.Details, actual.Details);

        }
 private MeetingDto mapToMeetingDto(MeetingViewModel meetingModel)
 {
     string datetime = ConvertDigitsToLatin(meetingModel.StartDate) + "/" + meetingModel.StartTime + "/0";
     var meetingDto = new MeetingDto
     {
         Id = meetingModel.Id,
         Agenda = meetingModel.Agenda,
         LocationAddress = meetingModel.Address,
         Attendees = meetingModel.AttendeesList,
         Description = meetingModel.Description,
         Duration = meetingModel.Duration,
         LocationLatitude = meetingModel.Latitude,
         LocationLongitude = meetingModel.Longitude,
         Subject = meetingModel.Subject,
         MeetingType = meetingModel.MeetingType,
         StartDate = GetChristianDateTime(datetime),
         Details = meetingModel.Details,
         Decisions = meetingModel.Decisions,
         State = (MeetingStateEnum)meetingModel.State,
         Reminder = new ReminderDto
         {
             ReminderType = (ReminderType)meetingModel.ReminderType,
             RepeatingType = (RepeatingType)meetingModel.RepeatingType,
             ReminderTimeType = (ReminderTimeType)meetingModel.ReminderTime
         }
     };
     return meetingDto;
 }
 private MeetingViewModel mapToViewModel(MeetingDto dto)
 {
     var meetingModel = new MeetingViewModel
     {
         Id = dto.Id,
         Address = dto.LocationAddress,
         Agenda = dto.Agenda,
         AttendeesList = dto.Attendees,
         Latitude = dto.LocationLatitude,
         Longitude = dto.LocationLongitude,
         Description = dto.Description,
         Duration = dto.Duration,
         MeetingType = dto.MeetingType,
         StartTime = dto.StartDate.ToString("HH:mm"),
         StartDate = GetPersianDate(dto.StartDate),
         StartDateTime = dto.StartDate,
         Subject = dto.Subject,
         Details = dto.Details,
         Decisions = dto.Decisions,
         ReminderTime = dto.Reminder != null ? (int)dto.Reminder.ReminderTimeType : 0,
         ReminderType = dto.Reminder != null ? (int)dto.Reminder.ReminderType : 0,
         RepeatingType = dto.Reminder != null ? (int)dto.Reminder.RepeatingType : 0,
         State = dto.State
     };
     return meetingModel;
 }