示例#1
0
        public async Task <CheckingStatus> Get(long Id)
        {
            CheckingStatus CheckingStatus = await UOW.CheckingStatusRepository.Get(Id);

            if (CheckingStatus == null)
            {
                return(null);
            }
            return(CheckingStatus);
        }
示例#2
0
        private CheckingStatus ConvertDTOToEntity(CheckingStatus_CheckingStatusDTO CheckingStatus_CheckingStatusDTO)
        {
            CheckingStatus CheckingStatus = new CheckingStatus();

            CheckingStatus.Id           = CheckingStatus_CheckingStatusDTO.Id;
            CheckingStatus.Code         = CheckingStatus_CheckingStatusDTO.Code;
            CheckingStatus.Name         = CheckingStatus_CheckingStatusDTO.Name;
            CheckingStatus.BaseLanguage = CurrentContext.Language;
            return(CheckingStatus);
        }
        public PlaceChecking_CheckingStatusDTO(CheckingStatus CheckingStatus)
        {
            this.Id = CheckingStatus.Id;

            this.Code = CheckingStatus.Code;

            this.Name = CheckingStatus.Name;

            this.Errors = CheckingStatus.Errors;
        }
        public async Task <bool> Create(CheckingStatus CheckingStatus)
        {
            CheckingStatusDAO CheckingStatusDAO = new CheckingStatusDAO();

            CheckingStatusDAO.Id   = CheckingStatus.Id;
            CheckingStatusDAO.Code = CheckingStatus.Code;
            CheckingStatusDAO.Name = CheckingStatus.Name;
            DataContext.CheckingStatus.Add(CheckingStatusDAO);
            await DataContext.SaveChangesAsync();

            CheckingStatus.Id = CheckingStatusDAO.Id;
            await SaveReference(CheckingStatus);

            return(true);
        }
示例#5
0
        public async Task <ActionResult <CheckingStatus_CheckingStatusDTO> > Get([FromBody] CheckingStatus_CheckingStatusDTO CheckingStatus_CheckingStatusDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            if (!await HasPermission(CheckingStatus_CheckingStatusDTO.Id))
            {
                return(Forbid());
            }

            CheckingStatus CheckingStatus = await CheckingStatusService.Get(CheckingStatus_CheckingStatusDTO.Id);

            return(new CheckingStatus_CheckingStatusDTO(CheckingStatus));
        }
        public async Task <bool> Update(CheckingStatus CheckingStatus)
        {
            CheckingStatusDAO CheckingStatusDAO = DataContext.CheckingStatus.Where(x => x.Id == CheckingStatus.Id).FirstOrDefault();

            if (CheckingStatusDAO == null)
            {
                return(false);
            }
            CheckingStatusDAO.Id   = CheckingStatus.Id;
            CheckingStatusDAO.Code = CheckingStatus.Code;
            CheckingStatusDAO.Name = CheckingStatus.Name;
            await DataContext.SaveChangesAsync();

            await SaveReference(CheckingStatus);

            return(true);
        }
        public async Task <CheckingStatus> Get(long Id)
        {
            CheckingStatus CheckingStatus = await DataContext.CheckingStatus.AsNoTracking()
                                            .Where(x => x.Id == Id)
                                            .Select(x => new CheckingStatus()
            {
                Id   = x.Id,
                Code = x.Code,
                Name = x.Name,
            }).FirstOrDefaultAsync();

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

            return(CheckingStatus);
        }
        public async Task <bool> ValidateId(CheckingStatus CheckingStatus)
        {
            CheckingStatusFilter CheckingStatusFilter = new CheckingStatusFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = CheckingStatus.Id
                },
                Selects = CheckingStatusSelect.Id
            };

            int count = await UOW.CheckingStatusRepository.Count(CheckingStatusFilter);

            if (count == 0)
            {
                CheckingStatus.AddError(nameof(CheckingStatusValidator), nameof(CheckingStatus.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
示例#9
0
        public async Task <CheckingStatus> Delete(CheckingStatus CheckingStatus)
        {
            if (!await CheckingStatusValidator.Delete(CheckingStatus))
            {
                return(CheckingStatus);
            }

            try
            {
                await UOW.CheckingStatusRepository.Delete(CheckingStatus);

                await Logging.CreateAuditLog(new { }, CheckingStatus, nameof(CheckingStatusService));

                return(CheckingStatus);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex, nameof(CheckingStatusService));
            }
            return(null);
        }
示例#10
0
        public async Task <CheckingStatus> Update(CheckingStatus CheckingStatus)
        {
            if (!await CheckingStatusValidator.Update(CheckingStatus))
            {
                return(CheckingStatus);
            }
            try
            {
                var oldData = await UOW.CheckingStatusRepository.Get(CheckingStatus.Id);

                await UOW.CheckingStatusRepository.Update(CheckingStatus);

                CheckingStatus = await UOW.CheckingStatusRepository.Get(CheckingStatus.Id);

                await Logging.CreateAuditLog(CheckingStatus, oldData, nameof(CheckingStatusService));

                return(CheckingStatus);
            }
            catch (Exception ex)
            {
                await Logging.CreateSystemLog(ex, nameof(CheckingStatusService));
            }
            return(null);
        }
 private async Task SaveReference(CheckingStatus CheckingStatus)
 {
 }
        public async Task <bool> Delete(CheckingStatus CheckingStatus)
        {
            await DataContext.CheckingStatus.Where(x => x.Id == CheckingStatus.Id).DeleteFromQueryAsync();

            return(true);
        }
示例#13
0
        public async Task <ActionResult> Import(IFormFile file)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }
            List <CheckingStatus> CheckingStatuses = new List <CheckingStatus>();

            using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream()))
            {
                ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault();
                if (worksheet == null)
                {
                    return(Ok(CheckingStatuses));
                }
                int StartColumn = 1;
                int StartRow    = 1;
                int IdColumn    = 0 + StartColumn;
                int CodeColumn  = 1 + StartColumn;
                int NameColumn  = 2 + StartColumn;

                for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++)
                {
                    if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString()))
                    {
                        break;
                    }
                    string IdValue   = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString();
                    string CodeValue = worksheet.Cells[i + StartRow, CodeColumn].Value?.ToString();
                    string NameValue = worksheet.Cells[i + StartRow, NameColumn].Value?.ToString();

                    CheckingStatus CheckingStatus = new CheckingStatus();
                    CheckingStatus.Code = CodeValue;
                    CheckingStatus.Name = NameValue;

                    CheckingStatuses.Add(CheckingStatus);
                }
            }
            CheckingStatuses = await CheckingStatusService.Import(CheckingStatuses);

            if (CheckingStatuses.All(x => x.IsValidated))
            {
                return(Ok(true));
            }
            else
            {
                List <string> Errors = new List <string>();
                for (int i = 0; i < CheckingStatuses.Count; i++)
                {
                    CheckingStatus CheckingStatus = CheckingStatuses[i];
                    if (!CheckingStatus.IsValidated)
                    {
                        string Error = $"Dòng {i + 2} có lỗi:";
                        if (CheckingStatus.Errors.ContainsKey(nameof(CheckingStatus.Id)))
                        {
                            Error += CheckingStatus.Errors[nameof(CheckingStatus.Id)];
                        }
                        if (CheckingStatus.Errors.ContainsKey(nameof(CheckingStatus.Code)))
                        {
                            Error += CheckingStatus.Errors[nameof(CheckingStatus.Code)];
                        }
                        if (CheckingStatus.Errors.ContainsKey(nameof(CheckingStatus.Name)))
                        {
                            Error += CheckingStatus.Errors[nameof(CheckingStatus.Name)];
                        }
                        Errors.Add(Error);
                    }
                }
                return(BadRequest(Errors));
            }
        }
 public async Task <bool> Create(CheckingStatus CheckingStatus)
 {
     return(CheckingStatus.IsValidated);
 }
        public async Task <ActionResult> Import(IFormFile file)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }
            AppUserFilter AppUserFilter = new AppUserFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = AppUserSelect.ALL
            };
            List <AppUser> AppUsers = await AppUserService.List(AppUserFilter);

            PlaceFilter PlaceFilter = new PlaceFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = PlaceSelect.ALL
            };
            List <Place> Places = await PlaceService.List(PlaceFilter);

            CheckingStatusFilter PlaceCheckingStatusFilter = new CheckingStatusFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = CheckingStatusSelect.ALL
            };
            List <CheckingStatus> PlaceCheckingStatuses = await CheckingStatusService.List(PlaceCheckingStatusFilter);

            List <PlaceChecking> PlaceCheckings = new List <PlaceChecking>();

            using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream()))
            {
                ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault();
                if (worksheet == null)
                {
                    return(Ok(PlaceCheckings));
                }
                int StartColumn                 = 1;
                int StartRow                    = 1;
                int IdColumn                    = 0 + StartColumn;
                int AppUserIdColumn             = 1 + StartColumn;
                int PlaceIdColumn               = 2 + StartColumn;
                int PlaceCheckingStatusIdColumn = 3 + StartColumn;
                int CheckInAtColumn             = 4 + StartColumn;
                int CheckOutAtColumn            = 5 + StartColumn;

                for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++)
                {
                    if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString()))
                    {
                        break;
                    }
                    string IdValue                    = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString();
                    string AppUserIdValue             = worksheet.Cells[i + StartRow, AppUserIdColumn].Value?.ToString();
                    string PlaceIdValue               = worksheet.Cells[i + StartRow, PlaceIdColumn].Value?.ToString();
                    string PlaceCheckingStatusIdValue = worksheet.Cells[i + StartRow, PlaceCheckingStatusIdColumn].Value?.ToString();
                    string CheckInAtValue             = worksheet.Cells[i + StartRow, CheckInAtColumn].Value?.ToString();
                    string CheckOutAtValue            = worksheet.Cells[i + StartRow, CheckOutAtColumn].Value?.ToString();

                    PlaceChecking PlaceChecking = new PlaceChecking();
                    PlaceChecking.CheckInAt  = DateTime.TryParse(CheckInAtValue, out DateTime CheckInAt) ? CheckInAt : DateTime.Now;
                    PlaceChecking.CheckOutAt = DateTime.TryParse(CheckOutAtValue, out DateTime CheckOutAt) ? CheckOutAt : DateTime.Now;
                    AppUser AppUser = AppUsers.Where(x => x.Id.ToString() == AppUserIdValue).FirstOrDefault();
                    PlaceChecking.AppUserId = AppUser == null ? 0 : AppUser.Id;
                    PlaceChecking.AppUser   = AppUser;
                    Place Place = Places.Where(x => x.Id.ToString() == PlaceIdValue).FirstOrDefault();
                    PlaceChecking.PlaceId = Place == null ? 0 : Place.Id;
                    PlaceChecking.Place   = Place;
                    CheckingStatus PlaceCheckingStatus = PlaceCheckingStatuses.Where(x => x.Id.ToString() == PlaceCheckingStatusIdValue).FirstOrDefault();
                    PlaceChecking.PlaceCheckingStatusId = PlaceCheckingStatus == null ? 0 : PlaceCheckingStatus.Id;
                    PlaceChecking.PlaceCheckingStatus   = PlaceCheckingStatus;

                    PlaceCheckings.Add(PlaceChecking);
                }
            }
            PlaceCheckings = await PlaceCheckingService.Import(PlaceCheckings);

            if (PlaceCheckings.All(x => x.IsValidated))
            {
                return(Ok(true));
            }
            else
            {
                List <string> Errors = new List <string>();
                for (int i = 0; i < PlaceCheckings.Count; i++)
                {
                    PlaceChecking PlaceChecking = PlaceCheckings[i];
                    if (!PlaceChecking.IsValidated)
                    {
                        string Error = $"Dòng {i + 2} có lỗi:";
                        if (PlaceChecking.Errors.ContainsKey(nameof(PlaceChecking.Id)))
                        {
                            Error += PlaceChecking.Errors[nameof(PlaceChecking.Id)];
                        }
                        if (PlaceChecking.Errors.ContainsKey(nameof(PlaceChecking.AppUserId)))
                        {
                            Error += PlaceChecking.Errors[nameof(PlaceChecking.AppUserId)];
                        }
                        if (PlaceChecking.Errors.ContainsKey(nameof(PlaceChecking.PlaceId)))
                        {
                            Error += PlaceChecking.Errors[nameof(PlaceChecking.PlaceId)];
                        }
                        if (PlaceChecking.Errors.ContainsKey(nameof(PlaceChecking.PlaceCheckingStatusId)))
                        {
                            Error += PlaceChecking.Errors[nameof(PlaceChecking.PlaceCheckingStatusId)];
                        }
                        if (PlaceChecking.Errors.ContainsKey(nameof(PlaceChecking.CheckInAt)))
                        {
                            Error += PlaceChecking.Errors[nameof(PlaceChecking.CheckInAt)];
                        }
                        if (PlaceChecking.Errors.ContainsKey(nameof(PlaceChecking.CheckOutAt)))
                        {
                            Error += PlaceChecking.Errors[nameof(PlaceChecking.CheckOutAt)];
                        }
                        Errors.Add(Error);
                    }
                }
                return(BadRequest(Errors));
            }
        }