/// <summary>
        /// Dodaje/aktualizuje przesłany obiekt w bazie danych
        /// </summary>
        /// <param name="deliveryItemType">Obiekt do dodania/aktualizacji</param>
        /// <returns>Zaktualizowany obiekt typu DeliveryItemType</returns>
        public async Task <DeliveryItemType> AddDeliveryItemType(DeliveryItemType deliveryItemType)
        {
            bool bExists = await _context
                           .DeliveryItemTypes
                           .AnyAsync(dit => dit.Id == deliveryItemType.Id);

            if (bExists)
            {
                _context
                .DeliveryItemTypes
                .Update(deliveryItemType);

                await _context
                .SaveChangesAsync();

                return(deliveryItemType);
            }
            else
            {
                _context
                .DeliveryItemTypes
                .Add(deliveryItemType);

                await _context
                .SaveChangesAsync();

                return(deliveryItemType);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Metoda aktualizująca
        /// </summary>
        /// <param name="company"></param>
        /// <returns></returns>
        public async Task <Company> AddCompany(Company company)
        {
            bool bExists = await _context
                           .Companies
                           .AnyAsync(c => c.Id == company.Id);

            switch (bExists)
            {
            case true:
                _context
                .Companies
                .Update(company);
                await _context.SaveChangesAsync();

                break;

            case false:
                await _context.Companies.AddAsync(company);

                await _context.SaveChangesAsync();

                break;
            }

            return(company);
        }
Esempio n. 3
0
        /// <summary>
        /// Aktualizuje/dodaje otrzymany obiekt typu Delivery w bazie danych
        /// </summary>
        /// <param name="delivery">Obiekt do dodania/aktualizacji</param>
        /// <returns>Zaktualizowany/dodany obiekt</returns>
        public async Task <Delivery> SetDelivery(Delivery delivery)
        {
            var companyId = _httpContextAccessor
                            .HttpContext
                            .User
                            .Claims
                            .Where(c => c.Type == MyClaims.CompanyId)
                            .Select(c => int.Parse(c.Value))
                            .FirstOrDefault();

            bool bExists = await _context
                           .Deliveries
                           .AnyAsync(d => d.Id == delivery.Id);

            switch (bExists)
            {
            case true:
                //Jesli delivery istnieje, ale nie należy do firmy użytkownika, zwróć null
                if (delivery.CompanyId != companyId)
                {
                    return(null);
                }

                //Aktualizuj delivery, zapisz zmiany i zwróć
                _context
                .Deliveries
                .Update(delivery);

                await _context.SaveChangesAsync();

                return(delivery);

            case false:
                delivery.CompanyId = companyId;
                _context.Deliveries.Add(delivery);

                await _context.SaveChangesAsync();

                return(delivery);
            }

            return(null);
        }
Esempio n. 4
0
        /// <summary>
        /// Metoda dodająca/aktualizująca otrzymany obiekt Car do bazy danych
        /// </summary>
        /// <param name="car">obiekt do dodania/aktualizacji</param>
        /// <returns>Zaktualizowany/dodany obiekt</returns>
        public async Task <Car> AddCar(Car car)
        {
            var bExists = _context
                          .Cars
                          .Where(c => c.Id == car.Id)
                          .Any();

            var companyId = _httpContextAccessor
                            .HttpContext
                            .User
                            .Claims
                            .Where(c => c.Type == MyClaims.CompanyId)
                            .Select(c => int.Parse(c.Value))
                            .FirstOrDefault();

            if (bExists)
            {
                //Jeśli car istnieje, ale nie należy do firma użytkownika, zwróc null
                //W przeciwnym wypadku zezwól na modyfikację
                if (companyId != car.companyId)
                {
                    return(null);
                }

                _context.Cars.Update(car);
                await _context.SaveChangesAsync();

                return(car);
            }
            else
            {
                //Jeśli car nie istnieje, dodaj go do bazy danych,
                //Ustawiając companyId na companyId użytkownika z kontekstu
                car.companyId = companyId;

                await _context.Cars.AddAsync(car);

                await _context.SaveChangesAsync();

                return(car);
            }
        }