public ResponseDto AddAddress(AddAddressRequest request) { ResponseDto response = new ResponseDto(); Consumer consumer = null; response.has_resource = 0; try { using (UserDao dao = new UserDao()) { consumer = GetAuthUser(dao, request.user_id, request.auth_token, true); if (consumer == null) { MakeNouserResponse(response); return(response); } ConsumerAddress address = new ConsumerAddress(); address.ConsID = request.user_id; UsersHelper.CopyToEntity(address, request); address.CreatedDate = DateTime.Now; address.UpdatedDate = address.CreatedDate; address.StatusID = 1; if (consumer.ConsumerAddresses.Count == 0) { address.IsDefault = true; } else { address.IsDefault = Convert.ToBoolean(request.is_default); if (Convert.ToBoolean(request.is_default)) { foreach (var item in consumer.ConsumerAddresses) { item.IsDefault = false; } dao.Update(consumer); } } dao.AddAddress(address); response.code = 0; response.message = MessagesSource.GetMessage("addr.added"); return(response); } } catch (Exception ex) { response.MakeExceptionResponse(ex); } return(response); }
/// <summary> /// Register a new consumer. /// </summary> /// <param name="request">The DTO with requst form data parameters.</param> /// <returns>The response DTO with result of the operation.</returns> public RegisterResponse Register(RegisterRequest request) { request.mobile_number = Common.GetStandardMobileNumber(request.mobile_number); RegisterResponse responseDto = new RegisterResponse(); Consumer consumer = new Consumer(); //Get posted parameter values into the entity from the DTO UsersHelper.CopyToEntity(consumer, request); consumer.Password = TokenGenerator.GetHashedPassword(request.user_password, 49);//To fit into the password field of database table //Generate unique auth /access token for the user. consumer.AccToken = TokenGenerator.GenerateToken(request.user_name, request.user_password, request.mobile_number); consumer.CreatedDate = DateTime.Now; consumer.UpdatedDate = consumer.CreatedDate; consumer.StatusID = 1; consumer.ConsActivated = true; try { using (UserDao dao = new UserDao()) { // Check if the mobile number is registered if (dao.CheckPhoneExists(request.mobile_number)) { responseDto.code = 1; responseDto.has_resource = 0; responseDto.message = MessagesSource.GetMessage("cons.reg.dupl"); } else { consumer = dao.Insert(consumer); // save the entity. UsersHelper.CopyFromEntity(responseDto, consumer); //Copy to the response DTO string otp = OTPServices.GenerateAndSendOTP(request.mobile_number); if (OTPServices.SaveOTP(otp, consumer.ConsID, "C")) { responseDto.new_user.send_otp = 1; // state that OTP has been sent. } responseDto.code = 0; // Result OK. responseDto.has_resource = 1; responseDto.message = MessagesSource.GetMessage("cons.reg.ok"); } } } catch (Exception ex) { responseDto.MakeExceptionResponse(ex); } return(responseDto); }
public ResponseDto UpdateAddress(UpdateAddressRequest request) { ResponseDto response = new ResponseDto(); Consumer consumer = null; response.has_resource = 0; try { using (UserDao dao = new UserDao()) { consumer = GetAuthUser(dao, request.user_id, request.auth_token, true); if (consumer == null) { MakeNouserResponse(response); return(response); } ConsumerAddress address = dao.FindAddressById(request.address_id); if (address == null) { response.code = 1; response.message = MessagesSource.GetMessage("no.addr"); return(response); } if (Convert.ToBoolean(request.is_default)) { foreach (var item in consumer.ConsumerAddresses.Where(x => x.IsDefault).ToList()) { item.IsDefault = false; } UsersHelper.CopyToEntity(consumer.ConsumerAddresses.Where(x => x.AddrID == request.address_id).FirstOrDefault(), request); dao.Update(consumer); } else { if (consumer.ConsumerAddresses.Where(x => x.IsDefault && x.AddrID != request.address_id).Count() == 0) { UsersHelper.CopyToEntity(consumer.ConsumerAddresses.Where(x => x.AddrID == request.address_id).FirstOrDefault(), request); address.IsDefault = true; dao.Update(consumer); } else { UsersHelper.CopyToEntity(consumer.ConsumerAddresses.Where(x => x.AddrID == request.address_id).FirstOrDefault(), request); dao.Update(consumer); } } //UsersHelper.CopyToEntity(address, request); // dao.UpdateAddress(address); response.code = 0; response.message = MessagesSource.GetMessage("addr.updated"); return(response); } } catch (Exception ex) { response.MakeExceptionResponse(ex); } return(response); }