Exemplo n.º 1
0
        private async Task CreateInseminationAsync(InseminationCreateOrUpdateInput input)
        {
            var insemination = ObjectMapper.Map <Insemination>(input);
            await _inseminationRepository.InsertAsync(insemination);

            await CurrentUnitOfWork.SaveChangesAsync();

            var plaqueInfo = new PlaqueInfo
            {
                Code           = Convert.ToInt64(insemination.NationalCode),
                SetTime        = insemination.CreationTime,
                Latitude       = insemination.Latitude,
                Longitude      = insemination.Longitude,
                OfficerId      = insemination.OfficerId,
                StateId        = 1,
                InseminationId = insemination.Id
            };
            await _plaqueInfoRepository.InsertAsync(plaqueInfo);

            if (insemination.Id > 0)
            {
                var herd    = _herdRepository.FirstOrDefault(x => x.Id == insemination.HerdId);
                var officer = _officerRepository.FirstOrDefault(x => x.UserId == AbpSession.UserId);
                var message = "تلقیح برای کد عملیات تلقیح در تاریخ " + insemination.CreationTime.GetShamsiStr("yyyy/MM/dd hh:mm") + " انجام شد.";
                await _sms98Sender.SendAsync("09123372805", message);
            }
        }
Exemplo n.º 2
0
        public async Task CreateOrUpdateInsemination(InseminationCreateOrUpdateInput input)
        {
            await CheckValidation(input);

            if (input.Id.HasValue)
            {
                await UpdateInseminationAsync(input);
            }
            else
            {
                await CreateInseminationAsync(input);
            }
        }
Exemplo n.º 3
0
        public async Task <InseminationCreateOrUpdateInput> CheckValidation(InseminationCreateOrUpdateInput input)
        {
            var species = await _speciesInfoRepository.GetAsync(input.SpeciesInfoId.Value);

            long nationalCode = Convert.ToInt64(input.NationalCode);

            if (nationalCode < species.FromCode)
            {
                nationalCode += species.FromCode;
            }
            if (nationalCode < species.FromCode || nationalCode > species.ToCode)
            {
                throw new UserFriendlyException(L("ThisCodeRangeShouldBe", species.Name, species.FromCode, species.ToCode));
            }

            var plaqueInfo = _plaqueInfoRepository.FirstOrDefault(x => x.Code == nationalCode && x.StateId != 5);

            if (plaqueInfo != null)
            {
                throw new UserFriendlyException(L("ThisCodeIsAllocated", nationalCode));
            }

            var officer = _officerRepository.FirstOrDefault(x => x.UserId == AbpSession.UserId);

            if (officer == null)
            {
                throw new UserFriendlyException(L("TheOfficerDoesNotExists"));
            }
            else
            {
                input.OfficerId = officer.Id;
                var plaqueToOfficer = _plaqueToOfficerRepository.FirstOrDefault(x => x.FromCode <= nationalCode && x.ToCode >= nationalCode);
                if (plaqueToOfficer == null)
                {
                    throw new UserFriendlyException(L("ThisStoreIsNotAllocatedTo", nationalCode));
                }
            }



            input.NationalCode = nationalCode.ToString();
            return(input);
        }
Exemplo n.º 4
0
 private async Task UpdateInseminationAsync(InseminationCreateOrUpdateInput input)
 {
     var insemination = ObjectMapper.Map <Insemination>(input);
     await _inseminationRepository.UpdateAsync(insemination);
 }
Exemplo n.º 5
0
        public async Task <GetInseminationForEditOutput> GetInseminationForEdit(NullableIdDto <int> input)
        {
            var officer = _officerRepository.FirstOrDefault(x => x.UserId == AbpSession.UserId);

            if (officer == null)
            {
                throw new UserFriendlyException(L("TheOfficerDoesNotExists"));
            }
            Insemination insemination = null;

            if (input.Id.HasValue)
            {
                insemination = await _inseminationRepository.GetAll()
                               .Include(x => x.Officer)
                               .FirstOrDefaultAsync(x => x.Id == input.Id.Value);
            }

            var output = new GetInseminationForEditOutput();

            //insemination
            var newLiveStock = new InseminationCreateOrUpdateInput();

            newLiveStock.CreationTime = newLiveStock.CreationTime.GetShamsi();
            output.Insemination       = insemination != null
                ? ObjectMapper.Map <InseminationCreateOrUpdateInput>(insemination)
                : newLiveStock;

            //FirmTypes
            output.SpeciesInfos = _speciesInfoRepository
                                  .GetAllList()
                                  .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Code + " - " + c.Name))
                                  .ToList();

            output.SexInfos = _sexInfoRepository
                              .GetAllList()
                              .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                              .ToList();

            output.Herds = _herdRepository
                           .GetAllList()
                           .Where(x => x.OfficerId == officer.Id && !x.IsCertificated)
                           .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Code + " - " + c.HerdName + "(" + c.Name + "," + c.Family + ")"))
                           .ToList();

            output.BreedInfos = _breedInfoRepository
                                .GetAllList()
                                .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                                .ToList();

            output.BirthTypeInfos = _birthTypeInfoRepository
                                    .GetAllList()
                                    .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                                    .ToList();

            output.AnomalyInfos = _anomalyInfoRepository
                                  .GetAllList()
                                  .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                                  .ToList();

            output.MembershipInfos = _membershipInfoRepository
                                     .GetAllList()
                                     .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                                     .ToList();

            output.BodyColorInfos = _bodyColorInfoRepository
                                    .GetAllList()
                                    .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                                    .ToList();

            output.SpotConnectorInfos = _spotConnectorInfoRepository
                                        .GetAllList()
                                        .Select(c => new ComboboxItemDto(c.Id.ToString(), c.Name))
                                        .ToList();

            if (output.Insemination.HerdId.HasValue)
            {
                output.ActivityInfos = _herdRepository.GetAll()
                                       .Include(x => x.ActivityInfo)
                                       .Where(x => x.Id == output.Insemination.HerdId)
                                       .Select(c => new ComboboxItemDto(c.ActivityInfo.Id.ToString(), c.ActivityInfo.Name))
                                       .ToList();
            }

            return(output);
        }