source: StockMaster/ViewModels/ViewModels.cs@ dfe03b8

main
Last change on this file since dfe03b8 was dfe03b8, checked in by Ceyda <ceyda.huseini@…>, 3 days ago

Initialize StockMaster project

  • Property mode set to 100644
File size: 2.7 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.ComponentModel.DataAnnotations;
4using StockMaster.Models;
5
6namespace StockMaster.ViewModels
7{
8 public class LoginViewModel
9 {
10 [Required(ErrorMessage = "Username is required")]
11 [Display(Name = "Username")]
12 public string Username { get; set; }
13
14 [Required(ErrorMessage = "Password is required")]
15 [DataType(DataType.Password)]
16 [Display(Name = "Password")]
17 public string Password { get; set; }
18 }
19
20 public class DashboardViewModel
21 {
22 public List<Product> LowStockProducts { get; set; }
23 public decimal TotalSalesToday { get; set; }
24 public decimal TotalSalesMonth { get; set; }
25 public Dictionary<string, int> StockSummary { get; set; }
26 }
27
28 public class SaleCreateViewModel
29 {
30 [Display(Name = "Customer")]
31 public int? CustomerId { get; set; }
32
33 [Required(ErrorMessage = "Warehouse is required")]
34 [Display(Name = "Warehouse")]
35 public int WarehouseId { get; set; }
36
37 public List<SaleItemViewModel> Items { get; set; } = new();
38 }
39
40 public class SaleItemViewModel
41 {
42 [Required(ErrorMessage = "Product is required")]
43 public int ProductId { get; set; }
44
45 [Required(ErrorMessage = "Quantity is required")]
46 [Range(1, int.MaxValue, ErrorMessage = "Quantity must be at least 1")]
47 public int Quantity { get; set; }
48
49 [Required(ErrorMessage = "Unit price is required")]
50 [Range(0.01, double.MaxValue, ErrorMessage = "Unit price must be greater than 0")]
51 public decimal UnitPrice { get; set; }
52 }
53
54 public class PurchaseOrderCreateViewModel
55 {
56 [Display(Name = "Supplier")]
57 public int? SupplierId { get; set; }
58
59 [Required(ErrorMessage = "Warehouse is required")]
60 [Display(Name = "Warehouse")]
61 public int WarehouseId { get; set; }
62
63 [Required(ErrorMessage = "Expected delivery date is required")]
64 [Display(Name = "Expected Delivery Date")]
65 public DateTime ExpectedDeliveryDate { get; set; }
66
67 public List<PurchaseOrderItemViewModel> Items { get; set; } = new();
68 }
69
70 public class PurchaseOrderItemViewModel
71 {
72 [Required(ErrorMessage = "Product is required")]
73 public int ProductId { get; set; }
74
75 [Required(ErrorMessage = "Quantity is required")]
76 [Range(1, int.MaxValue, ErrorMessage = "Quantity must be at least 1")]
77 public int Quantity { get; set; }
78
79 [Required(ErrorMessage = "Unit cost is required")]
80 [Range(0.01, double.MaxValue, ErrorMessage = "Unit cost must be greater than 0")]
81 public decimal UnitCost { get; set; }
82 }
83}
Note: See TracBrowser for help on using the repository browser.