public HttpResponseMessage AddCard(Models.MstCard objCard) { try { var currentUser = from d in db.MstUsers where d.AspNetUserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { if (currentUser.FirstOrDefault().UserTypeId != 3) { var currentCard = from d in db.MstCards where d.CardNumber.Equals(objCard.CardNumber) select d; if (!currentCard.Any()) { var motherCardUser = from d in db.MstCards where d.CardNumber.Equals(currentUser.FirstOrDefault().MotherCardNumber) select d; if (motherCardUser.Any()) { Data.MstCard newCard = new Data.MstCard { CardNumber = objCard.CardNumber, FullName = objCard.FullName, Address = objCard.Address, Email = objCard.Email, ContactNumber = objCard.ContactNumber, UserId = motherCardUser.FirstOrDefault().UserId, Balance = 0, Particulars = currentUser.FirstOrDefault().FullName + " " + DateTime.Now.ToString(), Status = objCard.Status }; db.MstCards.InsertOnSubmit(newCard); db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. Mother card number was not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. Your card number was already taken.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add cards.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. No current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server. " + e.Message)); } }
public HttpResponseMessage UpdateProfile(Models.MstUser objUser) { try { var currentUser = from d in db.MstUsers where d.AspNetUserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var updateCurrentUser = currentUser.FirstOrDefault(); updateCurrentUser.FullName = objUser.FullName; updateCurrentUser.Address = objUser.Address; updateCurrentUser.Email = objUser.Email; updateCurrentUser.ContactNumber = objUser.ContactNumber; updateCurrentUser.MotherCardNumber = objUser.MotherCardNumber; db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. Your profile was not found in the server.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server. " + e.Message)); } }
public HttpResponseMessage AddUserForm(Models.MstUserForm objUserForm) { try { var currentUser = from d in db.MstUsers where d.AspNetUserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { if (currentUser.FirstOrDefault().UserTypeId != 3) { Data.MstUserForm newUserForm = new Data.MstUserForm { UserId = objUserForm.UserId, FormId = objUserForm.FormId, CanAdd = objUserForm.CanAdd, CanEdit = objUserForm.CanEdit, CanUpdate = objUserForm.CanUpdate, CanDelete = objUserForm.CanDelete }; db.MstUserForms.InsertOnSubmit(newUserForm); db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add user forms.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. No current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server. " + e.Message)); } }
public HttpResponseMessage UpdateUser(String id, Models.MstUser objUser) { try { var currentUser = from d in db.MstUsers where d.AspNetUserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { if (currentUser.FirstOrDefault().UserTypeId != 3) { var user = from d in db.MstUsers where d.Id == Convert.ToInt32(id) select d; if (user.Any()) { var updateUser = user.FirstOrDefault(); updateUser.FullName = objUser.FullName; updateUser.Address = objUser.Address; updateUser.Email = objUser.Email; updateUser.ContactNumber = objUser.ContactNumber; updateUser.MotherCardNumber = objUser.MotherCardNumber; updateUser.Status = objUser.Status; updateUser.UserTypeId = objUser.UserTypeId; db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Sorry. User not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to update users.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. No current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server. " + e.Message)); } }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new ApplicationUser() { UserName = model.UserName, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { Data.SodexDatabaseDataContext db = new Data.SodexDatabaseDataContext(); var card = from d in db.MstCards where d.CardNumber.Equals(model.MotherCardNumber) select d; if (card.Any()) { Data.MstUser newUser = new Data.MstUser() { AspNetUserId = user.Id, Username = model.UserName, UserTypeId = 3, FullName = model.FullName, Address = model.Address, Email = model.Email, ContactNumber = model.ContactNumber, MotherCardNumber = "NA", Status = "Enable" }; db.MstUsers.InsertOnSubmit(newUser); db.SubmitChanges(); } else { Data.MstUser newUser = new Data.MstUser() { AspNetUserId = user.Id, Username = model.UserName, UserTypeId = 2, FullName = model.FullName, Address = model.Address, Email = model.Email, ContactNumber = model.ContactNumber, MotherCardNumber = model.MotherCardNumber, Status = "Enable" }; db.MstUsers.InsertOnSubmit(newUser); db.SubmitChanges(); Data.MstCard newCard = new Data.MstCard { CardNumber = model.MotherCardNumber, FullName = model.FullName, Address = model.Address, Email = model.Email, ContactNumber = model.ContactNumber, UserId = newUser.Id, Balance = 0, Particulars = newUser.FullName + " " + DateTime.Now.ToString(), Status = "Enable" }; db.MstCards.InsertOnSubmit(newCard); db.SubmitChanges(); } return(Ok()); } else { return(GetErrorResult(result)); } }
public HttpResponseMessage Post(Models.TransferData transferData) { Int32 creditId = 0; var source = from d in db.MstCards where d.CardNumber == transferData.SourceCardNumber select d; var destination = from d in db.MstCards where d.CardNumber == transferData.DestinationCardNumber select d; // Both cards must be enabled. if (source.Any() && destination.Any()) { if (source.FirstOrDefault().Status.Equals("Disable")) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Cannot transfer if the current source card or mother card is disabled.")); } else if (destination.FirstOrDefault().Status.Equals("Disable")) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Cannot transfer if the current destination card is disabled.")); } else { decimal sourceBalance = 0; // Source Balance should be greater than the transferred amount. // The source card owner should be the same with the destination card owner. sourceBalance = source.FirstOrDefault().Balance; if (sourceBalance >= transferData.Amount && source.FirstOrDefault().UserId == destination.FirstOrDefault().UserId) { try { var s = source.FirstOrDefault(); var d = destination.FirstOrDefault(); DateTime timeStamp = DateTime.Now; Data.TrnLedger newLedger1 = new Data.TrnLedger() { CardId = s.Id, CardNumber = s.CardNumber, LedgerDateTime = timeStamp, DebitAmount = 0, CreditAmount = transferData.Amount, Particulars = transferData.Particulars }; Data.TrnLedger newLedger2 = new Data.TrnLedger() { CardId = d.Id, CardNumber = d.CardNumber, LedgerDateTime = timeStamp, DebitAmount = transferData.Amount, CreditAmount = 0, Particulars = transferData.Particulars }; db.TrnLedgers.InsertOnSubmit(newLedger1); db.TrnLedgers.InsertOnSubmit(newLedger2); db.SubmitChanges(); s.Balance = s.TrnLedgers.Sum(t => t.DebitAmount - t.CreditAmount); d.Balance = d.TrnLedgers.Sum(t => t.DebitAmount - t.CreditAmount); db.SubmitChanges(); creditId = newLedger1.Id; } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(e.ToString()) }); } } else { return(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Invalid Card") }); } } return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(creditId.ToString()) }); } else { return(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Invalid Card") }); } }