public async Task <HttpResult <bool> > AddGoodsDispatchedNote(GoodsDispatchedNote note, CancellationToken token = default(CancellationToken))
        {
            var result = new HttpResult <bool>();

            var model = new AddGoodsDispatchedNote()
            {
                DocumentId   = note.DocumentId,
                InvoiceId    = note.InvoiceId,
                IssueDate    = note.IssueDate,
                DispatchDate = note.DispatchDate,
                NoteEntry    = note
                               .NoteEntry
                               .Select(ne => new WebApiServer.Controllers.Note.ViewModel.NoteEntry
                {
                    Location = new Common.DTO.Location
                    {
                        Id   = ne.Location.Id,
                        Name = ne.Location.Name
                    },
                    Name = ne.Name
                })
                               .ToList()
            };

            await _unitOfWork.AddGoodsDispatchedNote(model);

            return(result);
        }
        public override void BindItemToViewHolder(GoodsDispatchedNote item, GoodsDispatchedNotesViewHolder viewHolder)
        {
            viewHolder.GoodsDispatchedNoteRowItemDocumentId.Text = item.DocumentId;
            viewHolder.GoodsDispatchedNoteRowItemInvoiceId.Text  = item.Invoice.DocumentId;

            _styleProvider
            .Execute(item.LastModifiedAt,
                     viewHolder.GoodsDispatchedNoteRowItemDocumentId);

            viewHolder.GoodsDispatchedNoteRowItemInfo.SetOnClickListener(IOnClickListener);
            viewHolder.GoodsDispatchedNoteRowItemDelete.SetOnClickListener(IOnClickListener);

            viewHolder.GoodsDispatchedNoteRowItemInfo.Visibility   = ReadVisibility;
            viewHolder.GoodsDispatchedNoteRowItemDelete.Visibility = DeleteVisibility;
        }
예제 #3
0
 public void GoToGoodsDispatchedNoteDetails(GoodsDispatchedNote model)
 {
     GoTo <Fragments.Details.GoodsDispatchedNote>(model);
 }
예제 #4
0
        public void Migrate()
        {
            DropTables();
            CreateTables();

            if (UserRepository.Any())
            {
                return;
            }

            var currentDate = DateTime.Now;

            var roleClaims = ClaimsRepository
                             .GetClaims();

            var role = new Role
            {
                Name = "Administrator"
            };

            RoleRepository.Add(role);

            var role1 = new Role
            {
                Name = "Pracownik"
            };

            RoleRepository.Add(role1);

            var role2 = new Role
            {
                Name = "Księgowy"
            };

            RoleRepository.Add(role2);

            var role3 = new Role
            {
                Name = "Kierownik"
            };

            RoleRepository.Add(role3);

            var adminRoleClaims = roleClaims
                                  .Select(cl => new RoleClaim
            {
                RoleId     = role.Id,
                ClaimType  = cl.Type,
                ClaimValue = cl.Value
            });

            var kierownikRoleClaims = roleClaims
                                      .Skip(4)
                                      .Select(cl => new RoleClaim
            {
                RoleId     = role3.Id,
                ClaimType  = cl.Type,
                ClaimValue = cl.Value
            });

            var ksiegowyRoleClaims = roleClaims
                                     .Skip(8)
                                     .Select(cl => new RoleClaim
            {
                RoleId     = role2.Id,
                ClaimType  = cl.Type,
                ClaimValue = cl.Value
            });

            var pracownikRoleClaims = roleClaims
                                      .Skip(12)
                                      .Select(cl => new RoleClaim
            {
                RoleId     = role1.Id,
                ClaimType  = cl.Type,
                ClaimValue = cl.Value
            });

            RoleClaimRepository.AddRange(adminRoleClaims);
            RoleClaimRepository.AddRange(kierownikRoleClaims);
            RoleClaimRepository.AddRange(ksiegowyRoleClaims);
            RoleClaimRepository.AddRange(pracownikRoleClaims);

            var user = new User
            {
                UserName     = "******",
                FirstName    = "Jan",
                LastName     = "Kocur",
                Email        = "*****@*****.**",
                PasswordHash = _passwordManager.GetHash("123")
            };

            UserRepository.Add(user);

            var user1 = new User
            {
                UserName     = "******",
                FirstName    = "Władysław",
                LastName     = "Kocioł",
                Email        = "*****@*****.**",
                PasswordHash = _passwordManager.GetHash("123")
            };

            UserRepository.Add(user1);

            var user2 = new User
            {
                UserName     = "******",
                FirstName    = "Michał",
                LastName     = "Zbożny",
                Email        = "*****@*****.**",
                PasswordHash = _passwordManager.GetHash("123")
            };

            UserRepository.Add(user2);

            var user3 = new User
            {
                UserName     = "******",
                FirstName    = "Heniek",
                LastName     = "Luwer",
                Email        = "*****@*****.**",
                PasswordHash = _passwordManager.GetHash("123")
            };

            UserRepository.Add(user3);

            var userRole = new UserRole
            {
                RoleId = role.Id,
                UserId = user.Id
            };

            var userRole1 = new UserRole
            {
                RoleId = role2.Id,
                UserId = user1.Id
            };

            var userRole2 = new UserRole
            {
                RoleId = role1.Id,
                UserId = user2.Id
            };

            var userRole3 = new UserRole
            {
                RoleId = role3.Id,
                UserId = user3.Id
            };

            UserRoleRepository.Add(userRole);
            UserRoleRepository.Add(userRole1);
            UserRoleRepository.Add(userRole2);
            UserRoleRepository.Add(userRole3);

            var city = new City
            {
                Name = "Olsztyn"
            };

            CityRepository.Add(city);

            var city2 = new City
            {
                Name = "Warszawa"
            };

            CityRepository.Add(city2);

            var city3 = new City
            {
                Name = "Barczewo"
            };

            CityRepository.Add(city3);

            var city4 = new City
            {
                Name = "Gdańsk"
            };

            CityRepository.Add(city4);

            var city5 = new City
            {
                Name = "Kraków"
            };

            CityRepository.Add(city5);

            var counterparty = new Counterparty
            {
                Name        = "Firma sprzedajaca buty",
                NIP         = "1122334455",
                PhoneNumber = "1122334455666",
                Street      = "Lubelska 432",
                PostalCode  = "11-341",
                CityId      = city.Id
            };

            CounterpartyRepository.Add(counterparty);

            var counterparty1 = new Counterparty
            {
                Name        = "Firma sprzedajaca ubrania",
                NIP         = "2126337425",
                PhoneNumber = "1122334455666",
                Street      = "Lubelska 432",
                PostalCode  = "11-341",
                CityId      = city.Id
            };

            CounterpartyRepository.Add(counterparty1);

            var location = new Location
            {
                Name = "Półka X"
            };

            LocationRepository.Add(location);

            var location1 = new Location
            {
                Name = "Półka Y"
            };

            LocationRepository.Add(location1);

            var location2 = new Location
            {
                Name = "Półka Z"
            };

            LocationRepository.Add(location2);

            var location3 = new Location
            {
                Name = "Półka K"
            };

            LocationRepository.Add(location3);

            var invoice = new Invoice
            {
                DocumentId     = string.Format("FAK/{0:yyyyMMddhhmmssfff}", currentDate),
                CounterpartyId = counterparty.Id,
                CityId         = city.Id,
                InvoiceType    = Common.InvoiceType.Purchase,
                PaymentMethod  = Common.PaymentMethod.Card,
                IssueDate      = currentDate,
                CompletionDate = currentDate
            };

            InvoiceRepository.Add(invoice);

            var entries = new List <Entry>()
            {
                new Entry
                {
                    Name      = "Buty Halwin Meain XL",
                    InvoiceId = invoice.Id,
                    Price     = 22.22m,
                    Count     = 1000,
                    VAT       = 0.01m
                }
            };

            EntryRepository.AddRange(entries);

            invoice.Total = entries[0].Count * entries[0].Price;
            invoice.VAT   = invoice.Total * entries[0].VAT;
            InvoiceRepository.Update(invoice);

            currentDate = DateTime.Now;

            var invoice1 = new Invoice
            {
                DocumentId     = string.Format("FAK/{0:yyyyMMddhhmmssfff}", currentDate),
                CounterpartyId = counterparty.Id,
                CityId         = city.Id,
                InvoiceType    = Common.InvoiceType.Sales,
                PaymentMethod  = Common.PaymentMethod.Card,
                IssueDate      = currentDate,
                CompletionDate = currentDate
            };

            InvoiceRepository.Add(invoice1);

            var entries1 = new List <Entry>()
            {
                new Entry
                {
                    Name      = "Buty Halwin Meain XL",
                    InvoiceId = invoice1.Id,
                    Price     = 22.22m,
                    Count     = 100,
                    VAT       = 0.01m
                }
            };

            EntryRepository.AddRange(entries1);
            invoice1.Total = entries1[0].Count * entries1[0].Price;
            invoice1.VAT   = invoice1.Total * entries1[0].VAT;
            InvoiceRepository.Update(invoice1);

            currentDate = DateTime.Now;

            var invoice2 = new Invoice
            {
                DocumentId     = string.Format("FAK/{0:yyyyMMddhhmmssfff}", currentDate),
                CounterpartyId = counterparty.Id,
                CityId         = city.Id,
                InvoiceType    = Common.InvoiceType.Purchase,
                PaymentMethod  = Common.PaymentMethod.Card,
                IssueDate      = currentDate,
                CompletionDate = currentDate
            };

            InvoiceRepository.Add(invoice2);

            var entries2 = new List <Entry>()
            {
                new Entry
                {
                    Name      = "Czapka Xiaming",
                    InvoiceId = invoice2.Id,
                    Price     = 70.22m,
                    Count     = 400,
                    VAT       = 0.10m
                }
            };

            EntryRepository.AddRange(entries2);
            invoice2.Total = entries2[0].Count * entries2[0].Price;
            invoice2.VAT   = invoice2.Total * entries2[0].VAT;
            InvoiceRepository.Update(invoice2);

            currentDate = DateTime.Now;

            var invoice3 = new Invoice
            {
                DocumentId     = string.Format("FAK/{0:yyyyMMddhhmmssfff}", currentDate),
                CounterpartyId = counterparty.Id,
                CityId         = city.Id,
                InvoiceType    = Common.InvoiceType.Purchase,
                PaymentMethod  = Common.PaymentMethod.Card,
                IssueDate      = currentDate,
                CompletionDate = currentDate
            };

            InvoiceRepository.Add(invoice3);

            var entries3 = new List <Entry>()
            {
                new Entry
                {
                    Name      = "Spodnie Jeans Amba M",
                    InvoiceId = invoice3.Id,
                    Price     = 51.74m,
                    Count     = 300,
                    VAT       = 0.12m
                }
            };

            EntryRepository.AddRange(entries3);
            invoice3.Total = entries3[0].Count * entries3[0].Price;
            invoice3.VAT   = invoice3.Total * entries3[0].VAT;
            InvoiceRepository.Update(invoice3);

            var attribute = new Attribute
            {
                Name = "Firma"
            };

            AttributeRepository.Add(attribute);

            var attribute1 = new Attribute
            {
                Name = "Rodzaj"
            };

            AttributeRepository.Add(attribute1);

            var product = new Product
            {
                Name    = "Buty Halwin Meain XL",
                Barcode = "Buty Halwin Meain XL",
            };

            var product1 = new Product
            {
                Name    = "Spodnie Jeans Amba M",
                Barcode = "Spodnie Jeans Amba M"
            };

            var product2 = new Product
            {
                Name    = "Koszula Meadow L",
                Barcode = "Koszula Meadow L"
            };

            var product3 = new Product
            {
                Name    = "Czapka Xiaming",
                Barcode = "Czapka Xiaming"
            };

            ProductRepository.Add(product);
            ProductRepository.Add(product1);
            ProductRepository.Add(product2);
            ProductRepository.Add(product3);

            var productAttributes = new List <ProductAttribute>()
            {
                new ProductAttribute
                {
                    ProductId   = product.Id,
                    AttributeId = attribute.Id,
                    Value       = "Xinmex"
                },
                new ProductAttribute
                {
                    ProductId   = product.Id,
                    AttributeId = attribute1.Id,
                    Value       = "Obuwie skórzane"
                },
                new ProductAttribute
                {
                    ProductId   = product1.Id,
                    AttributeId = attribute.Id,
                    Value       = "Abibas"
                },
                new ProductAttribute
                {
                    ProductId   = product1.Id,
                    AttributeId = attribute1.Id,
                    Value       = "Spodnie"
                },
                new ProductAttribute
                {
                    ProductId   = product2.Id,
                    AttributeId = attribute.Id,
                    Value       = "Pomba"
                },
                new ProductAttribute
                {
                    ProductId   = product2.Id,
                    AttributeId = attribute1.Id,
                    Value       = "Koszula bawelniana"
                }
            };

            ProductAttributeRepository.AddRange(productAttributes);

            var productDetails = new List <ProductDetail>()
            {
                new ProductDetail
                {
                    LocationId = location.Id,
                    ProductId  = product.Id,
                    Count      = 300
                },
                new ProductDetail
                {
                    LocationId = location1.Id,
                    ProductId  = product.Id,
                    Count      = 150
                },
                new ProductDetail
                {
                    LocationId = location.Id,
                    ProductId  = product1.Id,
                    Count      = 200
                },
                new ProductDetail
                {
                    LocationId = location1.Id,
                    ProductId  = product1.Id,
                    Count      = 150
                },
                new ProductDetail
                {
                    LocationId = location.Id,
                    ProductId  = product2.Id,
                    Count      = 600
                },
                new ProductDetail
                {
                    LocationId = location1.Id,
                    ProductId  = product2.Id,
                    Count      = 350
                },
                new ProductDetail
                {
                    LocationId = location.Id,
                    ProductId  = product3.Id,
                    Count      = 400
                },
                new ProductDetail
                {
                    LocationId = location1.Id,
                    ProductId  = product3.Id,
                    Count      = 250
                }
            };

            ProductDetailsRepository.AddRange(productDetails);

            var goodsDispatchedNote = new GoodsDispatchedNote
            {
                DocumentId   = string.Format("PZ/{0:yyyyMMddhhmmss}", currentDate),
                Remarks      = "Testowy opis...",
                InvoiceId    = invoice1.Id,
                IssueDate    = currentDate,
                DispatchDate = currentDate
            };

            GoodsDispatchedNoteRepository.Add(goodsDispatchedNote);

            var goodsReceivedNote = new GoodsReceivedNote
            {
                DocumentId  = string.Format("WZ/{0:yyyyMMddhhmmss}", currentDate),
                Remarks     = "Testowy opis...",
                InvoiceId   = invoice.Id,
                IssueDate   = currentDate,
                ReceiveDate = currentDate
            };

            GoodsReceivedNoteRepository.Add(goodsReceivedNote);
        }