コード例 #1
0
        public ICollection <DonatorViewModel> GetDonatorsWithDonations(ICollection <string> FileNames)
        {
            List <DonatorViewModel> DonatorsWithDonations = new List <DonatorViewModel>();

            foreach (var donator in _context.Donators)
            {
                DonatorViewModel _donator = new DonatorViewModel()
                {
                    DonatorId   = donator.DonatorId,
                    FirstName   = donator.FirstName,
                    LastName    = donator.LastName,
                    BloodGroup  = donator.BloodGroup,
                    BloodFactor = donator.BloodFactor,

                    Donations = new List <Donation>()
                };

                if (FileNames.Count == 0)
                {
                    _donator.Donations = _context.Donations.Where(z => z.DonatorId == _donator.DonatorId).ToList();
                }
                else
                {
                    _donator.Donations = _context.Donations.Where(z => z.DonatorId == _donator.DonatorId && FileNames.Contains(z.OriginFileName)).ToList();
                }

                DonatorsWithDonations.Add(_donator);
            }

            return(DonatorsWithDonations);
        }
コード例 #2
0
        /// <summary>
        /// Add an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public DonatorViewModel Add(DonatorViewModel model)
        {
            this.ThrowExceptionIfExist(model);

            var entity = model.ToEntity();

            entity = this._DonatorsRepository.Add(entity);

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            this._AddresssRepository.Add(new Address {
                ObjectId = entity.Id, ObjectType = ObjectType.Donator, IsActive = true, IsMain = true, Description = model.Address
            });

            this._MailsRepository.Add(new Mail {
                ObjectId = entity.Id, ObjectType = ObjectType.Donator, IsActive = true, IsMain = true, Email = model.Email
            });

            this._MobilesRepository.Add(new Mobile {
                ObjectId = entity.Id, ObjectType = ObjectType.Donator, IsActive = true, IsMain = true, Number = model.Phone
            });

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            model = entity.ToModel();
            return(model);
        }
コード例 #3
0
        /// <summary>
        /// Delete an entity.
        /// </summary>
        /// <param name="model"></param>
        public void Delete(DonatorViewModel model)
        {
            var entity = model.ToEntity();

            this._DonatorsRepository.Delete(entity);

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion
        }
コード例 #4
0
        /// <summary>
        /// Throw an exception if name is exist.
        /// </summary>
        /// <param name="model">Donator view model</param>
        public void ThrowExceptionIfExist(DonatorViewModel model)
        {
            ConditionFilter <Donator, long> condition = new ConditionFilter <Donator, long>
            {
                Query = (entity =>
                         entity.Name == model.Name &&
                         entity.Id != model.Id)
            };
            var existEntity = this._DonatorsRepository.Get(condition).FirstOrDefault();

            if (existEntity != null)
            {
                throw new ItemAlreadyExistException();
            }
        }
コード例 #5
0
        /// <summary>
        /// Update an entity.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public DonatorViewModel Update(DonatorViewModel model)
        {
            this.ThrowExceptionIfExist(model);

            var entity = model.ToEntity();

            entity = this._DonatorsRepository.Update(entity);

            Mobile mobile = this._MobilesRepository.Get().FirstOrDefault(x => x.ObjectId == entity.Id && x.ObjectType == ObjectType.Donator);

            mobile.Number = model.Phone;
            this._MobilesRepository.Update(mobile);

            Mail mail = this._MailsRepository.Get().FirstOrDefault(x => x.ObjectId == entity.Id && x.ObjectType == ObjectType.Donator);

            mail.Email = model.Email;
            this._MailsRepository.Update(mail);

            Address address = this._AddresssRepository.Get().FirstOrDefault(x => x.ObjectId == entity.Id && x.ObjectType == ObjectType.Donator);

            if (address == null)
            {
                address = new Address
                {
                    ObjectId    = entity.Id,
                    ObjectType  = ObjectType.Donator,
                    Description = model.Address,
                    IsActive    = true,
                    IsMain      = true
                };
                this._AddresssRepository.Add(address);
            }
            else
            {
                address.Description = model.Address;
                this._AddresssRepository.Update(address);
            }

            #region Commit Changes
            this._unitOfWork.Commit();
            #endregion

            model = entity.ToModel();
            return(model);
        }
コード例 #6
0
        public ActionResult Index(DonatorViewModel dvm)
        {
            if (ModelState.IsValid)
            {
                db.Donators.Add(new Donator()
                {
                    FirstName      = dvm.FirstName,
                    MiddleName     = dvm.MiddleName,
                    LastName       = dvm.LastName,
                    Address        = dvm.Address,
                    ContactNo      = dvm.ContactNo,
                    Email          = dvm.Email,
                    DonatingAmount = dvm.DonatingAmount,
                    FeildToSpend   = dvm.FeildToSpend
                });
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(dvm));
        }
コード例 #7
0
        public RegisterDonatorViewModel()
        {
            DonatorViewModel      = new DonatorViewModel();
            InstitutiiAsociate    = new ObservableCollection <InstitutieAsociata>();
            HandleRegisterCommand = new BasicCommandWithParameter(Register);
            var institutii = AppService.Instance.InstitutieAsociataService.GetAll();

            institutii.ToList().ForEach(x =>
            {
                InstitutiiAsociate.Add(x);
            });

            GrupeDeSange = new ObservableCollection <GrupaDeSange>();
            var grupe = AppService.Instance.GrupaDeSangeService.GetAll();

            grupe.ToList().ForEach(x =>
            {
                GrupeDeSange.Add(x);
            });

            GrupaDeSange        = GrupeDeSange[0];
            InstitutieSelectata = InstitutiiAsociate[0];
        }
コード例 #8
0
 public DonatorsController()
 {
     _donatorService   = new DonatorService(db);
     _csvReaderService = new CsvReaderService();
     viewModel         = new DonatorViewModel(db);
 }