Пример #1
0
        public async Task <RepoResponse <FirmReturnDto> > AddFirm(FirmAddDto newFirm)
        {
            var oldFirm = await _context.Firms
                          .AsNoTracking()
                          .FirstOrDefaultAsync(f => f.Name.ToLower() == newFirm.Name.ToLower());

            if (oldFirm != null)
            {
                return(new RepoResponse <FirmReturnDto>()
                {
                    Content = new FirmReturnDto()
                    {
                        Id = oldFirm.Id,
                        Contact = oldFirm.Contact,
                        Details = oldFirm.Details,
                        Name = oldFirm.Name
                    },
                    IsSucces = true,
                    Message = "Bazada eyni adla istehsalçı mövcuddur."
                });
            }

            var nf = new Firm()
            {
                Id      = Guid.NewGuid(),
                Contact = newFirm.Contact,
                Details = newFirm.Details,
                Name    = newFirm.Name
            };

            await _context.Firms.AddAsync(nf);

            var res = await _context.SaveChangesAsync();

            if (res > 0)
            {
                return(new RepoResponse <FirmReturnDto>()
                {
                    Content = await _context.Firms
                              .AsNoTracking()
                              .Select(f => new FirmReturnDto()
                    {
                        Id = f.Id,
                        Contact = f.Contact,
                        Details = f.Details,
                        Name = f.Name
                    })
                              .FirstOrDefaultAsync(f => f.Id == nf.Id),
                    IsSucces = true,
                    Message = "İstehsalçı bazaya müvəffəqiyyətlə əlavə olundu."
                });
            }

            return(new RepoResponse <FirmReturnDto>()
            {
                Content = null,
                IsSucces = false,
                Message = "Baza ilə bağlı problem yarandı. İstehsalçı əlavə olunmadı."
            });
        }
Пример #2
0
        public async Task <RepoResponse <Seller> > Register(SellerRegisterDto seller)
        {
            var oldSeller = await _context.Sellers
                            .AsNoTracking()
                            .FirstOrDefaultAsync(s => s.Email == seller.Email);

            if (oldSeller != null)
            {
                return(new RepoResponse <Seller>()
                {
                    Content = null,
                    IsSucces = false,
                    Message = "Daxil edilmiş email ilə artıq satıcı mövcuddur."
                });
            }

            var newGuid   = Guid.NewGuid();
            var newSeller = new Seller()
            {
                Id       = newGuid,
                Name     = seller.Name,
                Details  = seller.Details,
                Email    = seller.Email,
                Password = seller.Password
            };

            _context.Sellers.Add(newSeller);
            var result = await _context.SaveChangesAsync();

            if (result > 0)
            {
                var returnValue = await Login(new SellerLoginDto()
                {
                    Email    = newSeller.Email,
                    Password = seller.Password
                });

                if (returnValue.IsSucces)
                {
                    return(new RepoResponse <Seller>()
                    {
                        Content = returnValue.Content,
                        IsSucces = true,
                        Message = returnValue.Message
                    });
                }
            }

            return(new RepoResponse <Seller>()
            {
                Content = null,
                IsSucces = false,
                Message = "Verilənlər bazasına satıcını əlavə etmək mümkün olmadı."
            });
        }
Пример #3
0
        public async Task <RepoResponse <ProductReturnDto> > AddProduct(ProductAddDto np)
        {
            var oldP = await _context.Products
                       .Include(p => p.Firm)
                       .FirstOrDefaultAsync(p => p.Barcode == np.Barcode);

            if (oldP != null)
            {
                oldP.Count += np.Count;
                var res = await _context.SaveChangesAsync();

                if (res > 0)
                {
                    return(new RepoResponse <ProductReturnDto>()
                    {
                        Content = new ProductReturnDto()
                        {
                            Id = oldP.Id,
                            Barcode = oldP.Barcode,
                            Count = oldP.Count,
                            Details = oldP.Details,
                            EntryDate = oldP.EntryDate,
                            FirmId = oldP.FirmId,
                            FirmName = oldP.Firm.Name,
                            Name = oldP.Name,
                            PurchasePrice = oldP.PurchasePrice,
                            SalePrice = oldP.SalePrice
                        },
                        IsSucces = true,
                        Message = "Bu barkodla bazada məhsul mövcuddur. Məhsulun sayı artırıldı."
                    });
                }
            }

            var newProduct = new Product()
            {
                Id            = Guid.NewGuid(),
                Barcode       = np.Barcode,
                Details       = np.Details,
                Discount      = 0,
                EntryDate     = np.EntryDate,
                FirmId        = np.FirmId,
                Name          = np.Name,
                PurchasePrice = np.PurchasePrice,
                SalePrice     = np.SalePrice
            };

            await _context.AddAsync(newProduct);

            var dbResult = await _context.SaveChangesAsync();

            if (dbResult > 0)
            {
                return(new RepoResponse <ProductReturnDto>()
                {
                    Content = (await GetProduct(newProduct.Id)).Content,
                    IsSucces = true,
                    Message = "Məhsul bazaya əlavə olundu."
                });
            }

            return(new RepoResponse <ProductReturnDto>()
            {
                Content = null,
                IsSucces = false,
                Message = "Məhsulu əlavə edərkən səhv baş verdi."
            });
        }