public async Task When_Disposing_Bucket_In_Parallel_Does_Not_Dispose_Referenced_Bucket()
        {
            var clusterController = new ClusterController(_clientConfig);
            var cluster1          = new Cluster(_clientConfig, clusterController);
            var cluster2          = new Cluster(_clientConfig, clusterController);

            IBucket bucket1 = null;
            IBucket bucket2 = null;

            var t1 = new Thread(() =>
            {
                Thread.Sleep(100); // Give thread2 time to open the bucket
                using (bucket1 = cluster1.OpenBucket("default", "")) { }
            });

            t1.Start();

            using (bucket2 = cluster2.OpenBucket("default", ""))
            {
                Thread.Sleep(100);                // Sleep while thread1 disposes the bucket
                await bucket2.ExistsAsync("Key"); // Used to throw ObjectDisposedException
            }

            t1.Join();

            Assert.AreSame(bucket1, bucket2);
        }
Example #2
0
        public async Task <Unit> Handle(CreateProfileIfNotExists request, CancellationToken cancellationToken)
        {
            var doesProfileExist = await _bucket.ExistsAsync(request.TwitchUsername);

            if (doesProfileExist)
            {
                return(default);
Example #3
0
        public async Task <IHttpActionResult> RegisterPassengerMessage(PassengerMessageModel model)
        {
            //Modified by Vishal on 23-07-2018 as per joe email
            if (string.IsNullOrEmpty(model.NameEN) && string.IsNullOrEmpty(model.NameAR))
            {
                return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "110-NameEN or NameAR is required"), new JsonMediaTypeFormatter()));
            }
            try
            {
                //Modified by Vishal on 24-07-2018 as per joe email
                if (string.IsNullOrEmpty(model.NameEN) && string.IsNullOrEmpty(model.NameAR))
                {
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "110-Either nameEN or nameAR is required"), new JsonMediaTypeFormatter()));
                }
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var userKey = "PassengerMessage_" + model.EmailAddress;
                if (await _bucket.ExistsAsync(userKey))
                {
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter()));
                }
                // call third part api to check Vehicle is valid or not
                var passengerMessageDoc = new Document <PassengerMessageModel>()
                {
                    Id      = userKey,
                    Content = new PassengerMessageModel
                    {
                        Action       = "ADD",
                        PassengerID  = userKey,
                        NameEN       = model.NameEN,
                        NameAR       = model.NameAR,
                        MobileNumber = model.MobileNumber,
                        EmailAddress = model.EmailAddress,
                    }
                };
                var result = await _bucket.InsertAsync(passengerMessageDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #4
0
        public async Task <IHttpActionResult> RegisterLogin(Login model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, modelErrors[0].ToString()));
                }

                var userKey = "LOGIN_" + model.UserId;
                if (await _bucket.ExistsAsync(userKey))
                {
                    return(Content(HttpStatusCode.Conflict, new Error($"UserId '{model.UserId}' already exists")));
                }
                // call third part api to check Vehicle is valid or not
                var loginDoc = new Document <Login>()
                {
                    Id      = userKey,
                    Content = new Login
                    {
                        Id           = userKey,
                        UserId       = model.UserId,
                        Password     = model.Password,
                        Type         = model.Type,
                        Status       = model.Status,
                        Role         = model.Role,
                        Per_language = model.Per_language,
                        Created_on   = DateTime.Now.Date.ToString()
                    }
                };
                var result = await _bucket.InsertAsync(loginDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, new Error(result.Message)));
                }

                return(Content(HttpStatusCode.Accepted, result.Document.Id));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.Forbidden, ex.StackTrace));
            }
        }
Example #5
0
        public async Task <IHttpActionResult> Register(License model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var licenseId = "License" + CreateUserKey(model.LicenseNumber);
                if (await _bucket.ExistsAsync(model.LicenseNumber))
                {
                    //return Content(HttpStatusCode.Conflict, new Error($"License:-'{model.LicenseNumber}' already exists"));
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "License already exists"), new JsonMediaTypeFormatter()));
                }
                //call api check driver varification  with EmiratiId if driver valid the driver valid will be true otherwise false
                var licenseDoc = new Document <License>()
                {
                    Id      = licenseId,
                    Content = new License
                    {
                        Id         = licenseId,
                        Action     = "Add",
                        IssueDate  = model.IssueDate,
                        ExpiryDate = model.ExpiryDate,
                        IsActive   = true,
                        IsDeleted  = true,
                        Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()),
                    }
                };
                var result = await _bucket.InsertAsync(licenseDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
        public async Task <IHttpActionResult> RegisterDriverStatus(DriverStatus model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }
                var userKey = "DriverStatus_" + model.VehicleID;
                if (await _bucket.ExistsAsync(userKey))
                {
                    //return Content(HttpStatusCode.Conflict, new Error($"Driver Status '{model.VehicleID}' already exists"));
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "166-Vehicle ID already exists"), new JsonMediaTypeFormatter()));
                }
                // call third part api to check Vehicle is valid or not
                var driverStatusMessageDoc = new Document <DriverStatus>()
                {
                    Id      = userKey,
                    Content = new DriverStatus
                    {
                        DriverID    = userKey,
                        DriverState = model.DriverState,
                        Date        = model.Date,
                        Time        = model.Time,
                        VehicleID   = model.VehicleID,
                    }
                };
                var result = await _bucket.InsertAsync(driverStatusMessageDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #7
0
        public async Task <HomePageInfo> Handle(GetHomePageInfo request, CancellationToken cancellationToken)
        {
            var homePageInfoExists = await _bucket.ExistsAsync("homePageInfo");

            if (!homePageInfoExists)
            {
                return(new HomePageInfo());
            }

            var result = await _bucket.GetAsync <HomePageInfo>("homePageInfo");

            if (!result.Success)
            {
                return(new HomePageInfo());
            }

            return(result.Value);
        }
        public async Task <IHttpActionResult> SignUp(LoginModel model)
        {
            if (model == null || !model.IsValid())
            {
                return(Content(HttpStatusCode.BadRequest, new Error("Invalid username and/or password")));
            }

            var userKey = CreateUserKey(model.Username);

            if (await _bucket.ExistsAsync(userKey))
            {
                return(Content(HttpStatusCode.Conflict, new Error($"Username '{model.Username}' already exists")));
            }

            var userDoc = new Document <User>
            {
                Id      = userKey,
                Content = new User
                {
                    Username = model.Username,
                    Password = CalcuateMd5Hash(model.Password)
                },
                Expiry = model.Expiry
            };

            var result = await _bucket.InsertAsync(userDoc);

            if (!result.Success)
            {
                return(Content(HttpStatusCode.InternalServerError, new Error(result.Message)));
            }

            var data = new
            {
                token = BuildToken(model.Username)
            };
            var context = $"Created user with ID '{userKey}' in bucket '{_bucket.Name}' that expires in {userDoc.Expiry}ms";

            return(Content(HttpStatusCode.Accepted, new Result(data, context)));
        }
Example #9
0
        public async Task <IHttpActionResult> Register(Register model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Content(HttpStatusCode.Forbidden, new Error($"error: '{ ModelState.Values.ToString()}'")));
                }

                var userKey = Guid.NewGuid().ToString();;
                if (await _bucket.ExistsAsync(userKey.ToString()))
                {
                    return(Content(HttpStatusCode.Conflict, new Error($"Email '{model.Email}' already exists")));
                }
                var userDoc = new Document <Register>()
                {
                    Id      = userKey,
                    Content = new Register
                    {
                        Id       = userKey,
                        Name     = model.Name,
                        Email    = model.Email,
                        Password = model.Password
                    }
                };
                var result = await _bucket.InsertAsync(userDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, new Error(result.Message)));
                }

                return(Content(HttpStatusCode.Accepted, "success"));
                //return Content(HttpStatusCode.OK, "success");
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.Forbidden, ex.Message));
            }
        }
        public async Task <IHttpActionResult> RegisterDriverStatus(RoadsideAssistanceModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var userKey = "RoadSideAssistance_" + model.PassengerID;
                if (await _bucket.ExistsAsync(userKey))
                {
                    //return Content(HttpStatusCode.Conflict, new Error($"RoadSideAssistance '{model.PassengerID}' already exists"));
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "169-Passenger ID already exists"), new JsonMediaTypeFormatter()));
                }

                AuditInfo auditInfo = new AuditInfo();
                if (model.AuditInfo != null)
                {
                    auditInfo.Version        = model.AuditInfo.Version;
                    auditInfo.Status         = model.AuditInfo.Status;
                    auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                    auditInfo.LastChangeBy   = model.AuditInfo.LastChangeBy;
                }
                var roadSideAssistanceMessageDoc = new Document <RoadsideAssistanceModel>()
                {
                    Id      = userKey,
                    Content = new RoadsideAssistanceModel
                    {
                        PassengerID     = model.PassengerID,
                        MobileNumber    = model.MobileNumber,
                        Latitude        = model.Latitude,
                        Longitude       = model.Longitude,
                        ServiceRequired = model.ServiceRequired,
                        Comments        = model.Comments,
                        AuditInfo       = auditInfo
                    }
                };
                var result = await _bucket.InsertAsync(roadSideAssistanceMessageDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }

                RoadSideAssistanceResponse roadSideAssistanceResponse = new RoadSideAssistanceResponse();
                roadSideAssistanceResponse.RequestRefID = result.Document.Id;
                roadSideAssistanceResponse.Message      = "message by CT";
                roadSideAssistanceResponse.Telephone    = "1800-6000-123456";

                var jsonRSAR = JSONHelper.ToJSON(roadSideAssistanceResponse);
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), jsonRSAR)));
                //return Content(HttpStatusCode.OK, roadSideAssistanceResponse);
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #11
0
        public async Task <IHttpActionResult> RegisterPassengerMessage(PassengerMessageModel model)
        {
            //Modified by Vishal on 24-07-2018 as per joe email
            if (string.IsNullOrEmpty(model.NameEN) && string.IsNullOrEmpty(model.NameAR))
            {
                return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "110-Either arbic name or english name is required"), new JsonMediaTypeFormatter()));
            }
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var userKey = "PassengerMessage_" + model.PassengerID;
                if (await _bucket.ExistsAsync(userKey))
                {
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-Passenger ID already exists."), new JsonMediaTypeFormatter()));
                }
                List <SawariBookingModel> sawariBookingModels = new List <SawariBookingModel>();

                // call third part api to check Vehicle is valid or not
                var passengerMessageDoc = new Document <PassengerMessageModel>()
                {
                    Id      = userKey,
                    Content = new PassengerMessageModel
                    {
                        //Action = "ADD",
                        PassengerID  = model.PassengerID,
                        NameEN       = model.NameEN,
                        NameAR       = model.NameAR,
                        MobileNumber = model.MobileNumber,
                        EmailAddress = model.EmailAddress,
                        Booking      = sawariBookingModels,
                        // this is only UAT testing for check when ct created.
                        Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()),
                        Created_By = "CarTrack"
                    }
                };

                var result = await _bucket.InsertAsync(passengerMessageDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }

                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #12
0
        public async Task <IHttpActionResult> UpdateVehicle(Vehicle_CT_Data model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                string query = @"select* from " + _bucket.Name + " as APTC_Vehicle where meta().id like 'Vehicle_%' and vin = '" + model.Registration + "'";

                var vehicleIsExistOrNot = _bucket.Query <object>(query).ToList();
                if (vehicleIsExistOrNot.Count == 0)
                {
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), model.Registration + " vehicle not exists."), new JsonMediaTypeFormatter()));
                }

                var userKey = "Vehicle_CT_Data_" + model.Registration; // This is vehicle chassis number. - unique number of vehicle discussed with mosaab  // in Our DB it`s vin

                if (await _bucket.ExistsAsync(userKey))
                {
                    //return Content(HttpStatusCode.Conflict, new Error($"Vehicle '{model.EngineNumber}' already exists"));
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "171-Registration number already exists."), new JsonMediaTypeFormatter()));
                }
                // call third part api to check Vehicle is valid or not
                var vehicle_CT_Data_Doc = new Document <Vehicle_CT_Data>()
                {
                    Id      = userKey,
                    Content = new Vehicle_CT_Data
                    {
                        Registration         = model.Registration,
                        Taxi_type            = model.Taxi_type,
                        Manufacturer         = model.Manufacturer,
                        Model                = model.Model,
                        Modelyear            = model.Modelyear,
                        Colour               = model.Colour,
                        Passenger_capacity   = model.Passenger_capacity,
                        Vehicle_status       = model.Vehicle_status,
                        Vehicle_enabled      = model.Vehicle_enabled,
                        Franchisee_user_name = model.Franchisee_user_name,
                        IsActive             = false,
                        Created_On           = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()),
                        Created_By           = "CarTrack"//model.DriverID
                    }
                };
                var result = await _bucket.InsertAsync(vehicle_CT_Data_Doc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #13
0
        public async Task <IHttpActionResult> Register(Individual model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, modelErrors[0].ToString()));
                }

                string phone = model.MobNum.CountryCode.ToString().Trim() + model.MobNum.Num.ToString().Trim();

                if (await _bucket.ExistsAsync(model.EmiratiID))
                {
                    return(Content(HttpStatusCode.Conflict, new Error($"EmiratiId already exists")));
                }
                if (await _bucket.ExistsAsync(model.Email))
                {
                    return(Content(HttpStatusCode.Conflict, new Error($"The e-mail already exists ")));
                }
                if (await _bucket.ExistsAsync(phone))
                {
                    return(Content(HttpStatusCode.Conflict, new Error($"Mobile number already exists")));
                }

                Individual individual = new Individual();
                MobNum     mobNum     = new MobNum();
                mobNum.CountryCode = model.MobNum.CountryCode;
                mobNum.Num         = model.MobNum.Num;

                TelNum telNum = new TelNum();
                telNum.CountryCode = model.MobNum.CountryCode;
                telNum.Num         = model.MobNum.Num;

                AuditInfo auditInfo = new AuditInfo();
                auditInfo.Version        = "1";
                auditInfo.Status         = "true";
                auditInfo.LastChangeDate = DateTime.Now.ToString();
                auditInfo.LastChangeBy   = model.Email;

                List <Roles> lstRoles = new List <Roles>();
                foreach (var role in model.Roles)
                {
                    Roles roles = new Roles();
                    roles.Code = role.Code;
                    roles.Name = role.Name;
                    lstRoles.Add(roles);
                }
                List <Fines> lstFines = new List <Fines>();

                foreach (var fine in model.Fines)
                {
                    Fines fines = new Fines();
                    fines.Amount = fine.Amount;
                    fines.Date   = fine.Date;
                    fines.Remark = fine.Remark;
                    lstFines.Add(fines);
                }
                List <Documents> lstDocuments = new List <Documents>();
                foreach (var document in model.Documents)
                {
                    Documents documents = new Documents();
                    documents.Date = document.Date;
                    documents.Name = document.Name;
                    documents.Path = document.Path;
                    lstDocuments.Add(document);
                }
                List <Vehicles> lstVehicles = new List <Vehicles>();
                foreach (var vehicle in model.Vehicles)
                {
                    Vehicles vehicles = new Vehicles();
                    vehicles.Name  = vehicle.Name;
                    vehicles.Model = vehicle.Model;
                    vehicles.Type  = vehicle.Type;
                    lstVehicles.Add(vehicles);
                }


                Name name = new Name();
                EN   en   = new EN();
                en.FullName = model.Name.EN.FullName;
                name.EN     = en;
                AR ar = new AR();
                ar.FullName = model.Name.EN.FullName;
                name.AR     = ar;
                var eotp = GenerateOtp();
                var motp = GenerateOtp();
                sendEmail.SendOtpViaEmail(model.Email, model.Name.EN.FullName, eotp);
                SendOtpViaMobile(model.MobNum, motp);
                string password      = Guid.NewGuid().ToString("d").Substring(1, 4);
                var    individualDoc = new Document <Individual>()
                {
                    Id      = "individual_" + model.EmiratiID,
                    Content = new Individual
                    {
                        KeyID         = "individual_" + model.EmiratiID,
                        Name          = name,
                        DOB           = model.DOB,
                        Nationality   = model.Nationality,
                        Gender        = model.Gender,
                        Fines         = lstFines,
                        Language      = model.Language,
                        MaritalStatus = model.MaritalStatus,
                        MobNum        = mobNum,
                        AuditInfo     = auditInfo,
                        Vehicles      = lstVehicles,
                        Roles         = lstRoles,
                        TelNum        = model.TelNum,
                        DocType       = model.DocType,
                        Documents     = lstDocuments,
                        Email         = model.Email,
                        Notes         = model.Notes,
                    },
                };

                var result = await _bucket.InsertAsync(individualDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, new Error(result.Message)));
                }
                else
                {
                    //sendEmail.SendUserIdAndPassword(model.Email, password);
                    var userDocLogin = new Document <Login>()
                    {
                        Id      = "Login_" + model.Email,
                        Content = new Login
                        {
                            Created_by   = model.Email,
                            Created_on   = DateTime.Now.ToString(),
                            UserId       = model.Email,
                            Password     = password,
                            Pre_language = model.Language,
                            Status       = "A",
                            Type         = "CAST",
                            Role         = "User",
                        },
                    };
                    IBucket _bucketLogin = ClusterHelper.GetBucket(ConfigurationManager.AppSettings.Get("CouchbaseLoginBucket"));
                    var     resultLogin  = await _bucketLogin.InsertAsync(userDocLogin);

                    return(Content(HttpStatusCode.Accepted, result.Document.Id));
                }
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.Forbidden, ex.StackTrace));
            }
        }
        public async Task <bool> ExistsCity(Guid cityId)
        {
            var isExists = await _relationsBucket.ExistsAsync($"cities|{cityId.ToString()}");

            return(isExists);
        }
Example #15
0
 public async Task <bool> IsExists(string id)
 {
     return(await _bucket.ExistsAsync(id));
 }
 public bool Contains(string key, CacheRegion region)
 {
     return(bucket.ExistsAsync(key).Result);
 }
Example #17
0
        public async Task <bool> ExistsGroup(Guid groupId)
        {
            var isExists = await _groupsBucket.ExistsAsync(groupId.ToString());

            return(isExists);
        }
        public async Task <bool> ExistsGroup(Guid groupId)
        {
            var isExists = await _relationsBucket.ExistsAsync($"groups|{groupId.ToString()}");

            return(isExists);
        }
        public async Task <bool> ExistsEvent(Guid eventId)
        {
            var isExists = await _eventsBucket.ExistsAsync(eventId.ToString());

            return(isExists);
        }
        public async Task <bool> ExistsUser(string userId)
        {
            var isExists = await _relationsBucket.ExistsAsync($"users|{userId.ToString()}");

            return(isExists);
        }
        public async Task <IHttpActionResult> RegisterDriverStatus(SawariBookingModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var userKey = "SawariBooking_" + model.PassengerID;
                if (await _bucket.ExistsAsync(userKey))
                {
                    //return Content(HttpStatusCode.Conflict, new Error($"SawariBooking '{model.PassengerID}' already exists"));
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "169-Passenger ID already exists."), new JsonMediaTypeFormatter()));
                }
                AuditInfo auditInfo = new AuditInfo();
                if (model.AuditInfo != null)
                {
                    auditInfo.Version        = model.AuditInfo.Version;
                    auditInfo.Status         = model.AuditInfo.Status;
                    auditInfo.Remarks        = model.AuditInfo.Remarks;
                    auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                    auditInfo.LastChangeBy   = model.AuditInfo.LastChangeBy;
                    auditInfo.DateCreated    = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                    auditInfo.CreatedBy      = model.AuditInfo.CreatedBy;
                }
                var sawariBookingModelMessageDoc = new Document <SawariBookingModel>()
                {
                    Id      = userKey,
                    Content = new SawariBookingModel
                    {
                        PassengerID      = model.PassengerID,
                        MobileNumber     = model.MobileNumber,
                        FromLocation     = model.FromLocation,
                        ToLocation       = model.ToLocation,
                        DateTimeRequired = model.DateTimeRequired,
                        Comments         = model.Comments,
                        AuditInfo        = auditInfo
                    }
                };
                var result = await _bucket.InsertAsync(sawariBookingModelMessageDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }

                SawariBookingResponse sawariBookingResponse = new SawariBookingResponse();
                sawariBookingResponse.RequestRefID = result.Document.Id;
                sawariBookingResponse.Message      = "messge by CT";
                sawariBookingResponse.Telephone    = "1800-6000-123456";

                var jsonSBR = JSONHelper.ToJSON(sawariBookingResponse);
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), jsonSBR), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #22
0
        public async Task <bool> ExistsCity(Guid cityId)
        {
            var isExists = await _citiesBucket.ExistsAsync(cityId.ToString());

            return(isExists);
        }
Example #23
0
        public async Task <IHttpActionResult> RegisterVehicle(Vehicle_APTC model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage == "" ? modelError.Exception.Message : modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var vehicleKey = "vehicle_" + model.KeyID;

                if (await _bucket.ExistsAsync(vehicleKey))
                {
                    //return Content(HttpStatusCode.Conflict, new Error($"Vehicle '{model.KeyID}' already exists"));
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "170-Key ID already exists."), new JsonMediaTypeFormatter()));
                }
                // call third part api to check Vehicle is valid or not

                VehPlate vehPlate = new VehPlate();
                if (model.VehPlate != null)
                {
                    vehPlate.PlateNumber   = model.VehPlate.PlateNumber;
                    vehPlate.PlateCategory = model.VehPlate.PlateCategory;
                    vehPlate.PlateSource   = model.VehPlate.PlateSource;
                    vehPlate.PlateCode     = model.VehPlate.PlateCode;
                }

                Ownership ownership = new Ownership();
                if (model.Ownership != null)
                {
                    ownership.OwnershipType = model.Ownership.OwnershipType;
                    ownership.OwnerID       = model.Ownership.OwnerID;
                    ownership.OwnerName     = model.Ownership.OwnerName;
                    ownership.LeasorName    = model.Ownership.LeasorName;
                }

                List <AuditInfo> lstauditInfo = new List <AuditInfo>();
                AuditInfo        auditInfo    = new AuditInfo();
                auditInfo.Version        = "1";
                auditInfo.Status         = "true";
                auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                auditInfo.LastChangeBy   = model.KeyID;
                lstauditInfo.Add(auditInfo);

                CTResponse cTResponse = new CTResponse();
                if (model.CTResponse != null)
                {
                    cTResponse.CTStatus     = false;
                    cTResponse.CTResponseId = model.CTResponse.CTResponseId;
                    cTResponse.CTRemarks    = model.CTResponse.CTRemarks;
                }

                var vehicleDoc = new Document <Vehicle_APTC>()
                {
                    Id      = vehicleKey,
                    Content = new Vehicle_APTC
                    {
                        //Id = vehicleKey,
                        KeyID            = model.KeyID, // This is vehicle chassNumber.
                        DocType          = model.DocType,
                        EngineNum        = model.EngineNum,
                        NumSeats         = model.NumSeats,
                        TrafficNum       = model.TrafficNum,
                        FirstRegData     = model.FirstRegData,
                        YearManufacture  = model.YearManufacture,
                        Make             = model.Make,
                        Model            = model.Model,
                        Colour           = model.Colour,
                        VehType          = model.VehType,
                        FuelType         = model.FuelType,
                        TransType        = model.TransType,
                        IsActive         = true,
                        DisabledFriendly = model.DisabledFriendly,
                        VehPlate         = vehPlate,
                        AuditInfo        = lstauditInfo,
                        CTResponse       = cTResponse,
                        Remarks          = model.Remarks,
                        Ownership        = ownership,
                        VehValid         = false,// Third Part Verification
                        Status           = "PE"
                    }
                };
                var result = await _bucket.InsertAsync(vehicleDoc);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                if (ConfigurationManager.AppSettings.Get("NotificationSettingFlag") == "1")
                {
                    #region Post Notification RoleCodeHODP
                    //////////////// Post Notification Code
                    try
                    {
                        PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters();
                        objPostNotificationParameters.UserCode         = string.Empty;
                        objPostNotificationParameters.RoleCode         = AspectEnums.RoleCodeHODP;
                        objPostNotificationParameters.DeptCode         = AspectEnums.DeptCodeFROE;
                        objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.VehicleRegistration;
                        objPostNotificationParameters.KeyID            = model.KeyID;
                        objPostNotificationParameters.Value            = model.TrafficNum;
                        objPostNotificationParameters.Status           = AspectEnums.StatusPS;       //"PE";//model.Status.ToString();

                        resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification();
                    }
                    catch (Exception ex)
                    {
                        return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
                    }
                    #endregion
                    #region Post Notification RoleCodeBCKO
                    //////////////// Post Notification Code
                    try
                    {
                        PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters();
                        objPostNotificationParameters.UserCode         = string.Empty;
                        objPostNotificationParameters.RoleCode         = AspectEnums.RoleCodeBCKO;
                        objPostNotificationParameters.DeptCode         = AspectEnums.DeptCodeFROE;
                        objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.VehicleRegistration;
                        objPostNotificationParameters.KeyID            = model.KeyID;
                        objPostNotificationParameters.Value            = model.TrafficNum;
                        objPostNotificationParameters.Status           = AspectEnums.StatusPS;       //"PE";//model.Status.ToString();

                        resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification();
                    }
                    catch (Exception ex)
                    {
                        return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
                    }
                    #endregion
                }
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id + " Notification Status :" + resultPostNotification), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Example #24
0
        public async Task <bool> ExistsTopic(Guid topicId)
        {
            var isExists = await _topicsBucket.ExistsAsync(topicId.ToString());

            return(isExists);
        }
Example #25
0
        public async Task <bool> ExistsTopic(Guid topicId)
        {
            var isExists = await _relationsBucket.ExistsAsync($"topics|{topicId.ToString()}");

            return(isExists);
        }