Esempio n. 1
0
        public void Update(long id, SenderModel model)
        {
            if (model.TariffOfTapePerBox < 0)
            {
                throw new InvalidDataException("TariffOfTapePerBox can't be less than 0.");
            }

            var data = _senders.Get(id);

            data.Name  = model.Name;
            data.Login = model.Authentication.Login;
            data.Email = model.Email;
            data.TariffOfTapePerBox = model.TariffOfTapePerBox;
            data.Contact            = model.Contact;
            data.Phone   = model.Phone;
            data.Address = model.Address;

            _senders.Update(id, data);

            _senders.SetCountries(id, model.Countries);

            if (!string.IsNullOrWhiteSpace(model.Authentication.NewPassword))
            {
                var userId = _senders.GetUserId(id);

                _users.SetPassword(userId, model.Authentication.NewPassword);
            }
        }
Esempio n. 2
0
        // POST: Admin/Create

        public ActionResult CreateOnAccept(string Cpr)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View("Index"));
                }
                var         app           = _proxy.GetAllApplications().SingleOrDefault(x => x.Cpr == Cpr);
                string      generPassword = Membership.GeneratePassword(10, 0);
                SenderModel courier       = new SenderModel(app.Cpr, app.FirstName, app.LastName, app.PhoneNumber, app.Email, app.Address, app.ZipCode, app.City)
                {
                    AccountType = (int)AccountTypeEnum.COURIER, Points = 0
                };
                _proxy.AddCourier(new SenderResource {
                    AccountType = courier.AccountType, Address = courier.Address, City = courier.City, ZipCode = courier.ZipCode, Cpr = courier.Cpr, Email = courier.Email, FirstName = courier.FirstName, LastName = courier.LastName, PhoneNumber = courier.PhoneNumber, Points = courier.Points, Username = courier.Email, Password = generPassword
                });
                ApplicationResource appToDelete = new ApplicationResource {
                    Cpr = app.Cpr
                };
                _proxy.DeleteApplication(appToDelete, false);
                //client.Disconnect();
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
Esempio n. 3
0
        public virtual ActionResult Create(SenderModel model)
        {
            if (string.IsNullOrWhiteSpace(model.Authentication.NewPassword))
            {
                ModelState.AddModelError("NewPassword", Validation.EmplyPassword);
            }

            try
            {
                if (ModelState.IsValid)
                {
                    var id = _senders.Add(model);

                    return(RedirectToAction(MVC.Sender.Edit(id)));
                }
            }
            catch (DublicateLoginException)
            {
                ModelState.AddModelError("Authentication.Login", Validation.LoginExists);
            }

            BindBag();

            return(View());
        }
    public ActionResult Receive1(SenderModel Sender)
    {
        ReceiverModel receiver = new ReceiverModel {
            Title = "Receiver1"
        };

        receiver.Color = Sender.Color;
        return(PartialView("MessageReceiver", receiver));
    }
Esempio n. 5
0
    public ActionResult Index(string Color)
    {
        SenderModel sender = new SenderModel {
            Title = "Sender", Color = "red"
        };

        if (!string.IsNullOrEmpty(Color))
        {
            sender.Color = Color;
        }
        return(View(sender));
    }
Esempio n. 6
0
        public ActionResult Create(RegisterModel reg)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View("Create", reg));
                }
                SenderModel sender = new SenderModel(reg.Cpr, reg.FirstName, reg.LastName, reg.PhoneNumber, reg.Email, reg.Address + ", " + reg.Number, reg.ZipCode, reg.City)
                {
                    AccountType = (int)AccountTypeEnum.SENDER, Password = reg.Password, Username = reg.Username, Points = 0
                };
                var salt = Guid.NewGuid().ToString();
                int ret  = _proxy.AddSender(new SenderResource {
                    AccountType = sender.AccountType, Address = sender.Address, City = sender.City, Cpr = sender.Cpr, Email = sender.Email, FirstName = sender.FirstName, LastName = sender.LastName, Password = sender.Password, PassSalt = salt, PhoneNumber = sender.PhoneNumber, Points = sender.Points, Username = sender.Username, ZipCode = sender.ZipCode
                });
                switch (ret)
                {
                case 1: return(RedirectToAction("Index"));

                case 0: return(View("Create", reg));

                case -1:
                {
                    ModelState.AddModelError("Cpr", "This CPR is already registered");
                    return(View("Create", reg));
                }

                case -2:
                {
                    ModelState.AddModelError("Email", "This email is already registered");
                    return(View("Create", reg));
                }

                case -3:
                {
                    ModelState.AddModelError("Username", "This username is taken");
                    return(View("Create", reg));
                }
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
Esempio n. 7
0
        public virtual ActionResult Edit(long id, SenderModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _senders.Update(id, model);

                    return(RedirectToAction(MVC.Sender.Edit(id)));
                }
            }
            catch (DublicateLoginException)
            {
                ModelState.AddModelError("Authentication.Login", Validation.LoginExists);
            }

            BindBag();

            return(View());
        }
Esempio n. 8
0
 private void button2_Click(object sender, EventArgs e)
 {
     foreach (DataGridViewRow row in dataGridView1.Rows)
     {
         var cpr = Convert.ToString(row.Cells[0].Value);
         if (row.Cells[8].Value.GetType() == typeof(System.DBNull))
         {
             row.Cells[8].Value = false;
         }
         if (row.Cells[9].Value.GetType() == typeof(System.DBNull))
         {
             row.Cells[9].Value = false;
         }
         if (Convert.ToBoolean(row.Cells[8].Value) == true)
         {
             var         app           = proxy.GetAllApplications().SingleOrDefault(x => x.Cpr == cpr);
             string      generPassword = Membership.GeneratePassword(10, 0);
             var         salt          = Encoding.ASCII.GetString(Guid.NewGuid().ToByteArray());
             SenderModel courier       = new SenderModel(app.Cpr, app.FirstName, app.LastName, app.PhoneNumber, app.Email, app.Address, app.ZipCode, app.City)
             {
                 AccountType = 2, Points = 0
             };
             proxy.AddCourier(new SenderResource {
                 AccountType = courier.AccountType, Address = courier.Address, City = courier.City, ZipCode = courier.ZipCode, Cpr = courier.Cpr, Email = courier.Email, FirstName = courier.FirstName, LastName = courier.LastName, PhoneNumber = courier.PhoneNumber, Points = courier.Points, Username = courier.Email, Password = generPassword, PassSalt = salt
             });
             ApplicationResource appToDelete = new ApplicationResource {
                 Cpr = app.Cpr
             };
             proxy.DeleteApplication(appToDelete, false);
         }
         else if (Convert.ToBoolean(row.Cells[9].Value) == true)
         {
             ApplicationResource appToDelete = new ApplicationResource {
                 Cpr = cpr
             };
             proxy.DeleteApplication(appToDelete, true);
         }
     }
     this.InitializeTable();
     this.Bind_DataGridView_Using_DataTable_Load(sender, e);
 }
Esempio n. 9
0
        private static void VerifyData(SenderModel model)
        {
            using (var connection = new SqlConnection(Settings.Default.MainConnectionString))
            {
                connection.Open();

                var actual = connection.Query <SenderData>(
                    "select u.Login, s.Name, s.Email, s.TariffOfTapePerBox, s.Contact, s.Phone, s.Address from [dbo].[sender] s "
                    + "join [dbo].[user] u on s.userid = u.id where u.login = @login",
                    new { model.Authentication.Login }).First();

                actual.ShouldBeEquivalentTo(model, options => options.ExcludingMissingProperties());

                var countries = connection.Query <long>(
                    "select c.[CountryId] from [dbo].[SenderCountry] c "
                    + "join [dbo].[sender] s on s.[id] = c.[SenderId] "
                    + "join [dbo].[user] u on s.userid = u.id where u.login = @login",
                    new { model.Authentication.Login }).ToArray();

                model.Countries.ShouldBeEquivalentTo(countries);
            }
        }
Esempio n. 10
0
        public int AddSender(Object senderObj)
        {
            SenderModel sender = senderObj as SenderModel;

            int    nextPersonId = (int)db.Persons.Last().ID + 1;
            Person person       = new Person {
                Cpr         = sender.Person.Cpr,
                FirstName   = sender.Person.FirstName,
                LastName    = sender.Person.LastName,
                PhoneNumber = sender.Person.PhoneNumber,
                Email       = sender.Person.Email,
                Address     = sender.Person.Address,
                ZipCode     = sender.Person.ZipCode,
                City        = sender.Person.City
            };
            User user = new User
            {
                Username      = sender.Username,
                Password      = sender.Password,
                Points        = sender.Points,
                AccountTypeID = (int)sender.AccountType,
                PersonID      = nextPersonId
            };
            var senders = db.Persons;
            var users   = db.Users;

            users.InsertOnSubmit(user);
            senders.InsertOnSubmit(person);
            try
            {
                db.SubmitChanges();
            }
            catch (Exception e)
            {
                return(0);
            }
            return(1);
        }
Esempio n. 11
0
        public long Add(SenderModel model)
        {
            if (model.TariffOfTapePerBox < 0)
            {
                throw new InvalidDataException("TariffOfTapePerBox can't be less than 0.");
            }

            var id = _senders.Add(new SenderData
            {
                Email = model.Email,
                Login = model.Authentication.Login,
                Name  = model.Name,
                TariffOfTapePerBox = model.TariffOfTapePerBox,
                Language           = TwoLetterISOLanguageName.English,
                Contact            = model.Contact,
                Phone   = model.Phone,
                Address = model.Address
            },
                                  model.Authentication.NewPassword);

            _senders.SetCountries(id, model.Countries);

            return(id);
        }
Esempio n. 12
0
        public SenderModel getSenderByCpr(string cpr)
        {
            var         sender   = db.Users.Single(x => x.Person.Cpr == cpr);
            SenderModel mySender = new SenderModel
            {
                AccountType = (AccountTypeEnum)sender.AccountTypeID,
                Password    = sender.Password,
                Username    = sender.Username,
                Points      = (int)sender.Points,
                Person      = new PersonModel
                {
                    Cpr         = sender.Person.Cpr,
                    Address     = sender.Person.Address,
                    City        = sender.Person.City,
                    Email       = sender.Person.Email,
                    FirstName   = sender.Person.FirstName,
                    LastName    = sender.Person.LastName,
                    PhoneNumber = sender.Person.PhoneNumber,
                    ZipCode     = sender.Person.ZipCode
                }
            };

            return(mySender);
        }
Esempio n. 13
0
        public async Task <SenderModel> CreateLoan(LoanModel model, string AccountNumber, string LoginAdmin, string loginId)
        {
            //  Loan loan = _context.Loans.Where(x=>x)

            var checkExist2 = _context.Customers.FirstOrDefault(x => x.CustAccNumber == model.AccountNumber &&
                                                                x.Telephonenumber == model.Phone && x.Emailaddress == model.EmailAdress);

            if (checkExist2 != null)
            {
                throw new Exception("account number, phone number or email already exist");
            }

            var checkExist = _context.Loans.FirstOrDefault(x => x.AccountNumber == model.AccountNumber);

            if (checkExist != null)
            {
                throw new Exception("account number already exist");
            }

            Customer customer = new Customer
            {
                Streetaddress   = model.Address.ToFirstLetterUpper(),
                Cust_balance    = 0,
                Telephonenumber = model.Phone,
                Surname         = model.Surname.ToFirstLetterUpper(),
                Givenname       = model.Givenname.ToFirstLetterUpper(),
                OtherNames      = model.OtherNames.ToFirstLetterUpper(),
                Deadline        = DateTime.Now.AddMonths(model.Duration).ToString("yyyy-MM-dd"),
                //Deadline = DateTime.Now.AddMonths(model.Duration).ToString("MM"),
                CustAccNumber     = AccountNumber,
                BVNNumber         = model.BVNNumber,
                ImageThumbnailUrl = model.CustImageThumbnailUrl,
                UploadDocument    = model.ScannThumbnailUrl,
                Birthday          = model.Birthday,
                Cust_acc_type     = "Loan",
                CreatedBy         = LoginAdmin,
                Country           = model.Country.ToFirstLetterUpper(),
                City         = model.City.ToFirstLetterUpper(),
                Emailaddress = model.EmailAdress.ToFirstLetterUpper(),
                Gender       = model.Gender,
            };

            // customer.Cust_acc_type = model.AccountType.ToFirstLetterUpper();

            _context.Customers.Add(customer);


            var account = new Account
            {
                Balance       = 0m,
                Created       = DateTime.Now,
                Frequency     = AccountFrequency.Weekly,
                AccountNumber = AccountNumber,
                CustId        = customer.Id
            };

            _context.Accounts.Add(account);

            //if(model.Frequency == "Weekly")
            //{
            Loan loan = new Loan();

            loan.LoanCause     = model.LoanCause;
            loan.Loan_Amount   = model.Loan_Amount;
            loan.Deadline      = DateTime.Now.AddMonths(model.Duration).ToString("yyyy-MM-dd");
            loan.Duration      = model.Duration;
            loan.Interest_Rate = model.Interest_Rate;
            // loan.Deadline = DateTime.Now.AddYears(Loan_Deadline).ToString("yyyy-MM-dd");
            loan.Frequency = model.Frequency;

            loan.AmountTo_Pay = loan.Loan_Amount + ((loan.Loan_Amount * loan.Interest_Rate) / 100);

            loan.IsActive         = true;
            loan.Loan_Amount_Paid = 0;
            loan.Loan_Date        = DateTime.Now.ToString("yyyy-MM-dd");
            loan.Manager_Approval = "No";
            loan.LOfficer_Id      = Convert.ToInt32(loginId);
            loan.AccountNumber    = AccountNumber;
            loan.AccountId        = account.AccountId;
            loan.CustId           = customer.Id;

            _context.Loans.Add(loan);


            //}
            //else if (model.Frequency == "Monthly")
            //{

            //}
            //  throw new Exception("Loan Account Successfully Created");

            Transaction tr = new Transaction();

            tr.Amount        = Convert.ToDecimal(model.Loan_Amount);
            tr.Tr_Date       = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            tr.Tr_EmpType    = "LOfficer";
            tr.Tr_AccName    = customer.Surname + " " + customer.Givenname + " " + customer.OtherNames;
            tr.Type          = "Loan";
            tr.AccountNumber = AccountNumber;
            // tr.AccountNumber =

            _context.Transactions.Add(tr);

            await _context.SaveChangesAsync();

            var notify = new SenderModel();

            notify.Amount         = loan.AmountTo_Pay;
            notify.Date           = loan.Loan_Date;
            notify.AmountGiven    = loan.Loan_Amount;
            notify.recepientName  = customer.Surname + " " + customer.Givenname + " " + customer.OtherNames;
            notify.recipientEmail = customer.Emailaddress;
            notify.accountNumber  = loan.AccountNumber;
            notify.Deadline       = loan.Deadline;
            notify.Interest_Rate  = loan.Interest_Rate;
            notify.Frequency      = loan.Frequency;
            return(notify);
        }
        public async Task <SenderModel> TransferBalance(TransferModel model)
        {
            //  Loan loan = _context.Loans.Where(x=>x)
            try
            {
                Customer tranFr    = _context.Customers.SingleOrDefault(x => x.CustAccNumber == model.AccountNumber_from);
                Account  accountFr = _context.Accounts.SingleOrDefault(x => x.AccountNumber == model.AccountNumber_from);

                Customer tranTo    = _context.Customers.SingleOrDefault(x => x.CustAccNumber == model.AccountNumber_to);
                Account  accountTo = _context.Accounts.SingleOrDefault(x => x.AccountNumber == model.AccountNumber_to);

                if (tranFr.Cust_balance > model.Amount + 1000 && tranTo.Cust_acc_type == "Savings")
                {
                    tranFr.Cust_balance -= model.Amount;
                    tranTo.Cust_balance += model.Amount;
                    //_context.SaveChanges();

                    accountFr.Balance = tranFr.Cust_balance;
                    accountTo.Balance = tranTo.Cust_balance;


                    Transaction tr = new Transaction();
                    tr.Amount     = Convert.ToDecimal(model.Amount);
                    tr.Tr_Date    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    tr.Tr_EmpType = "Cashier";
                    tr.Tr_AccName = tranFr.Surname + " " + tranFr.Givenname + " " + tranFr.OtherNames;
                    //tr.Tr_AccName = tranTo.Surname + " " + tranTo.Givenname + " " + tranTo.OtherNames;
                    tr.Type          = "Savings";
                    tr.CustomerId    = tranFr.Id;
                    tr.AccountNumber = tranFr.CustAccNumber;
                    //tr.AccountNumber = tranTo.CustAccNumber;
                    // tr.AccountNumber =

                    _context.Transactions.Add(tr);
                    await _context.SaveChangesAsync();
                }
                else if (tranFr.Cust_balance > model.Amount + 1000 && tranTo.Cust_acc_type == "Current")
                {
                    ///////////////////////////////////////////////////////////////////////////
                }

                var mail = new SenderModel
                {
                    accountNumber  = tranFr.CustAccNumber,
                    recepientName  = tranFr.Surname + " " + tranFr.Givenname,
                    recipientEmail = tranFr.Emailaddress,
                    Amount         = model.Amount,
                    Date           = tranFr.LastDateUpdated.ToString(),
                    recievedMails  = new RecievedMail
                    {
                        accountNumber  = tranFr.CustAccNumber,
                        recepientName  = tranTo.Surname + " " + tranTo.Givenname,
                        recipientEmail = tranTo.Emailaddress,
                        Amount         = model.Amount,
                        Date           = tranTo.LastDateUpdated.ToString(),
                    }
                };
                return(mail);
            }
            catch (Exception xx)
            {
                throw xx;
            }
        }
 public ActionResult Receive1(SenderModel Sender)
 {