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 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)); } }