-
Notifications
You must be signed in to change notification settings - Fork 0
/
Registry.sol
96 lines (80 loc) · 2.78 KB
/
Registry.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// SPDX-License-Identifier: MIT
pragma solidity >= 0.5.0 < 0.9.0;
// Creating a Smart Contract
contract Registry {
struct users {
address Account;
string name;
string gender;
string Address;
string phone;
string password;
}
struct asset {
address Account;
string Location;
string District;
string plot_no;
string area;
int asset_value;
}
mapping(string => address[]) Khatiyan;
address[] temp;
users[] usr;
mapping(string => asset[]) all_asts;
asset[] ast;
// address put this in account input datatype
function add_user(address Account, string memory name, string memory gender, string memory Address, string memory phone, string memory password) public {
users memory e = users(Account, name, gender, Address, phone, password);
usr.push(e);
}
function get_user(address Account) public view returns(string memory, string memory, string memory, string memory, string memory) {
uint i;
for (i = 0; i < usr.length; i++) {
users memory e = usr[i];
if (e.Account == Account) {
return (e.name, e.gender, e.Address, e.phone, e.password);
}
}
return ("Not Found", "Not Found", "Not Found", "Not Found", "");
}
// -----------------------Asset wala kaam yahan se suru hai------------------------------------
function add_asset(address Account, string memory Location, string memory District, string memory plot_no, string memory area, int value) public {
asset memory a = asset(Account, Location, District, plot_no, area, value);
ast.push(a);
}
function change_assetValue(address account, int value) public{
uint i;
for (i = 0; i < ast.length; i++) {
asset memory a = ast[i];
if (a.Account == account) {
ast[i].asset_value = value;
}
}
}
function get_asset(address Account) public view returns(string memory, string memory, string memory, string memory, int) {
uint i;
for (i = 0; i < ast.length; i++) {
asset memory a = ast[i];
if (a.Account == Account) {
return (a.Location, a.District, a.plot_no, a.area, a.asset_value);
}
}
return ("Not Found", "Not Found", "Not Found", "Not Found", 0);
}
// -----------------------Asset transfer wala kaam yahan se suru hai------------------------------------
function get_array() public view returns( asset[] memory){
return(ast);
}
function transferlnd(address payable sellerAddress, uint values) payable public {
uint pay=msg.value + values;
sellerAddress.transfer(pay);
uint i;
for (i = 0; i < ast.length; i++) {
asset memory a = ast[i];
if (a.Account == sellerAddress) {
ast[i].Account=msg.sender;
}
}
}
}