Exemplo n.º 1
0
        public IActionResult Edit([FromForm] UserRequest userRequest, IFormFile formFile)
        {
            Response res               = new Response();
            string   strDatabase       = "Vehicle";
            string   strCollection     = configuration.GetSection(strDatabase).GetSection("userColl").Value;
            bool     blnReturn         = false;
            string   strImagesLocation = configuration.GetSection(strDatabase).GetSection("imageLocation").Value;
            string   strImgExt         = ".jpeg";
            string   userId            = userRequest.userId;

            clsMongoDAL objMongo = new clsMongoDAL(strDatabase);

            try
            {
                var request    = HttpContext.Request;
                var postedFile = request.Form.Files[0];
                var filePath   = Path.Combine($"{strImagesLocation.Trim()}{userId.Trim()}{strImgExt.Trim()}");
                if (System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }
                using (var stream = new FileStream(filePath, FileMode.Create))
                {
                    postedFile.CopyTo(stream);
                }

                if (objMongo.blnCheckDocument(strCollection, "_id", userId))
                {
                    var varFilter = Builders <BsonDocument> .Filter.Eq("_id", userId);

                    UpdateDefinition <BsonDocument> updateDefinition = Builders <BsonDocument> .Update.Set("name", userRequest.name).Set("mobileNumber", userRequest.mobileNumber);

                    blnReturn = objMongo.blnUpdateDocument(strCollection, varFilter, updateDefinition);
                }
                if (blnReturn)
                {
                    res.Data = new object();
                    return(StatusCode(Convert.ToInt32(HttpStatusCode.OK), res));
                }
                else
                {
                    res.Error = new ErrorResponse("ERR.IN.EDIT", "Error in updating user details.");
                    res.Data  = new object();
                    return(StatusCode(Convert.ToInt32(HttpStatusCode.InternalServerError), res));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, res));
            }
        }
        public IEnumerable <dynamic> GetList([FromBody] VehicleRequest vehicleRequest)
        {
            string         strDatabase   = "Vehicle";
            string         strCollection = configuration.GetSection("Vehicle").GetSection("vehicleColl").Value;
            clsMongoDAL    objMongo      = new clsMongoDAL(strDatabase);
            Vehicle        vehicle       = new Vehicle();
            List <Vehicle> lstVehicles   = new List <Vehicle>();
            string         value         = vehicleRequest.searchOn;

            try
            {
                //Validate request section...

                // Count can be returned when page num = 1 so client side can pass page number.
                // e.g. total count 39 total pages whole number (total/size) 39/10 = 3 + 1, assuming 10 entries per page.
                long total = objMongo.GetCount(strCollection, vehicleRequest.searchOn, vehicleRequest.searchValue);

                var dbResult = objMongo.GetWithPagination(strCollection, vehicleRequest.searchOn, vehicleRequest.searchValue, vehicleRequest.pageSize, vehicleRequest.pageNum);

                foreach (var strData in dbResult)
                {
                    vehicle = new Vehicle
                    {
                        vehicleId   = Convert.ToString(strData.GetValue("_id")),
                        vehicleType = Convert.ToString(strData.GetValue("vehicleType")),
                        yearOfManu  = Convert.ToInt32(strData.GetValue("yearOfManu")),
                        deviceId    = Convert.ToString(strData.GetValue("deviceId")),
                        userId      = Convert.ToString(strData.GetValue("userId"))
                    };
                    lstVehicles.Add(vehicle);
                }
            }
            catch (Exception ex)
            {
            }
            return(lstVehicles);
        }
Exemplo n.º 3
0
        public IActionResult Add([FromForm] UserRequest userRequest, IFormFile formFile)
        {
            Response res               = new Response();
            string   strDatabase       = "Vehicle";
            string   strCollection     = configuration.GetSection(strDatabase).GetSection("userColl").Value;
            bool     blnReturn         = false;
            string   strImagesLocation = @"D:/tasks/coremongodemo/userimages/";
            string   strImgExt         = ".jpeg";

            try
            {
                #region Validates Input request

                if (!ModelState.IsValid)
                {
                    var errorDesciption = (from item in ModelState
                                           where item.Value.Errors.Any()
                                           select item.Value.Errors[0].ErrorMessage).ToList();

                    res.Error = new ErrorResponse("ERR.PARAMETERS.INVALID", errorDesciption.First());
                    res.Data  = new object();

                    return(StatusCode(Convert.ToInt32(HttpStatusCode.BadRequest), res));
                }

                #endregion

                //string userId =Convert.ToString(ObjectId.GenerateNewId());
                clsMongoDAL objMongo = new clsMongoDAL(strDatabase);

                if (objMongo.blnCheckDocument(strCollection, "_id", userRequest.userId))
                {
                    // Return ERROR response as user id already exists. Try other user name.
                    res.Error = new ErrorResponse("ERR.IN.ADD", "User Id already exists. Try other user name.");
                    res.Data  = new object();
                    return(StatusCode(Convert.ToInt32(HttpStatusCode.InternalServerError), res));
                }
                else
                {
                    var request    = HttpContext.Request;
                    var postedFile = request.Form.Files[0];
                    var filePath   = Path.Combine($"{strImagesLocation.Trim()}{userRequest.userId.Trim()}{strImgExt.Trim()}");
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        postedFile.CopyTo(stream);
                    }
                    BsonDocument bsnInsert = new BsonDocument {
                        { "_id", userRequest.userId },
                        { "name", userRequest.name },
                        { "mobileNumber", userRequest.mobileNumber },
                        { "photoPath", filePath }
                    };

                    blnReturn = objMongo.blnInsertDocument(strCollection, bsnInsert);
                }
                if (blnReturn)
                {
                    res.Data = new object();
                    return(StatusCode(Convert.ToInt32(HttpStatusCode.OK), res));
                }
                else
                {
                    res.Error = new ErrorResponse("ERR.IN.ADD", "Error in adding new user details.");
                    res.Data  = new object();
                    return(StatusCode(Convert.ToInt32(HttpStatusCode.InternalServerError), res));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, res));
            }
        }