public async Task <Entity.User> NewUser(DTO.UserDTO userInfo)
        {
            if (userInfo == null)
            {
                return(null);
            }
            if (String.IsNullOrEmpty(userInfo.Password))
            {
                return(null);
            }
            if (String.IsNullOrEmpty(userInfo.LoginName))
            {
                return(null);
            }

            var user = new Entity.User();

            user.FirstName       = userInfo.FirstName;
            user.LastName        = userInfo.LastName;
            user.LoginName       = userInfo.LoginName;
            user.Password        = Util.Hash.Sha256(userInfo.Password);
            user.UserAccountType = userInfo.UserAccountType;
            user.ApiKey          = Guid.NewGuid().ToString();

            await _context.AddAsync(user);

            await _context.SaveChangesAsync();

            return(user);
        }
Exemplo n.º 2
0
        public async Task <Entity.User> NewUser(DTO.UserDTO userInfo)
        {
            var loginAlreadyExists = await _context.Users
                                     .Where(u => u.LoginName.ToLower() == userInfo.LoginName.ToLower())
                                     .CountAsync() > 0;

            if (loginAlreadyExists)
            {
                return(null);
            }

            if (userInfo == null)
            {
                return(null);
            }
            if (String.IsNullOrEmpty(userInfo.Password))
            {
                return(null);
            }
            if (String.IsNullOrEmpty(userInfo.LoginName))
            {
                return(null);
            }

            var user = new Entity.User();

            user.FirstName       = userInfo.FirstName;
            user.LastName        = userInfo.LastName;
            user.LoginName       = userInfo.LoginName;
            user.Password        = Util.Hash.Sha256(userInfo.Password);
            user.UserAccountType = userInfo.UserAccountType;
            user.ApiKey          = Guid.NewGuid().ToString();

            await _context.AddAsync(user);

            await _context.SaveChangesAsync();

            var tenant = await _context.Tenants
                         .Where(t => t.Email == user.LoginName)
                         .Select(t => t)
                         .FirstOrDefaultAsync();

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

            tenant.UserId = user.UserId;
            await _context.SaveChangesAsync();

            return(user);
        }
Exemplo n.º 3
0
        public async Task <Entity.Agreement> UpdateAgreement(Entity.Agreement updated)
        {
            if (updated.StartDate != null && updated.EndDate != null)
            {
                if (updated.StartDate > updated.EndDate)
                {
                    return(null);
                }
            }

            var existingAgreement = await _context.Agreements
                                    .Where(a => a.AgreementId == updated.AgreementId)
                                    .Select(a => a)
                                    .FirstOrDefaultAsync();

            if (existingAgreement == null)
            {
                await _context.AddAsync(updated);

                await _context.SaveChangesAsync();

                return(updated);
            }
            else
            {
                existingAgreement.AgreementTemplateId = updated.AgreementTemplateId;
                if (updated.StartDate != null)
                {
                    existingAgreement.StartDate = updated.StartDate;
                }
                if (updated.EndDate != null)
                {
                    existingAgreement.EndDate = updated.EndDate;
                }
                if (updated.SignedDate != null)
                {
                    existingAgreement.SignedDate = updated.SignedDate;
                }
                existingAgreement.TenantId = updated.TenantId;

                await _context.SaveChangesAsync();

                return(await _context.Agreements
                       .Where(a => a.AgreementId == updated.AgreementId)
                       .Select(a => a)
                       .FirstOrDefaultAsync());
            }
        }
        public async Task <Entity.Agreement> UpdateAgreementTemplate(Entity.Agreement agreement)
        {
            var existingAgreement = await _context.Agreements
                                    .Where(a => a.AgreementId == agreement.AgreementId)
                                    .Select(a => a)
                                    .FirstOrDefaultAsync();

            if (existingAgreement == null)
            {
                await _context.AddAsync(agreement);
            }
            else
            {
                existingAgreement.Title = agreement.Title;
                existingAgreement.Text  = agreement.Text;
            }

            await _context.SaveChangesAsync();

            return(agreement);
        }
Exemplo n.º 5
0
        public async Task <Unit> UpdateUnit(Unit unit)
        {
            var existingUnit = await _context.Units
                               .Where(u => u.UnitId == unit.UnitId)
                               .Select(u => u)
                               .FirstOrDefaultAsync();

            if (existingUnit == null)
            {
                await _context.AddAsync(unit);
            }
            else
            {
                existingUnit.UnitNumber = unit.UnitNumber;
                existingUnit.TenantId   = unit.TenantId;
            }

            await _context.SaveChangesAsync();

            return(unit);
        }
Exemplo n.º 6
0
        public async Task <DataModel.Bill> PayBill(int tenantId,
                                                   double amount,
                                                   ResourceType resource,
                                                   BillingPeriod period)
        {
            if (period == null)
            {
                return(null);
            }

            var payment = new Payment();

            payment.Amount          = amount;
            payment.ResourceType    = resource;
            payment.BillingPeriodId = period.BillingPeriodId;
            payment.TenantId        = tenantId;
            payment.TimePaid        = DateTime.Now;

            await _context.AddAsync(payment);

            await _context.SaveChangesAsync();

            return(await GetBill(tenantId, resource, period));
        }