public IActionResult SignUp([FromBody] SignUpAuthActionModel actionModel)
        {
            try {
                cUser user = new cUser()
                {
                    Email          = actionModel.Email,
                    UserName       = actionModel.UserName,
                    HashedPassword = actionModel.Password,
                    DomainId       = Convert.ToInt32(actionModel.Domain)
                };

                cUserRole userRole = new cUserRole()
                {
                    User     = user,
                    IsActive = true,
                    Role     = _UnitOfWork.RoleRepository.Get(actionModel.Role)
                };


                using (_UnitOfWork) {
                    var domain = _UnitOfWork.DomainRepository.Get(Convert.ToInt32(actionModel.Domain));
                    userRole.User.DomainId = domain == null ? 0: domain.Id;
                    _UnitOfWork.UserRoleRepository.Set(userRole);
                    _UnitOfWork.Complete();
                }
                return(StatusCode(200, user));
            }
            catch (Exception exception) {
                Log.WriteLine(exception);
                return(StatusCode(500));
            }
        }
 public IActionResult Put(string username, [FromBody] UpdateUserActionModel actionModel)
 {
     try {
         if (username == null)
         {
             return(BadRequest());
         }
         var user = _UnitOfWork.UserRepository.Get(username);
         if (user == null)
         {
             return(NoContent());
         }
         user.FirstName  = actionModel.FirstName;
         user.MiddleName = actionModel.MiddleName;
         user.LastName   = actionModel.LastName;
         user.Address    = actionModel.Address;
         user.City       = actionModel.City;
         user.Phone      = actionModel.Phone;
         _UnitOfWork.UserRepository.Update(user);
         _UnitOfWork.Complete();
         return(Ok(user));
     }
     catch (Exception exception) {
         Log.WriteLine(exception);
         return(StatusCode(500));
     }
 }
        public IActionResult Post([FromForm] CreateAcceptanceStatusActionModel actionModel)
        {
            try {
                Log.Information(actionModel.Remarks);
                Log.Information(actionModel.IsAccepted.ToString());
                Log.Information(actionModel.VersionId.ToString());
                if (actionModel == null)
                {
                    return(BadRequest("null object"));
                }
                if (actionModel.VersionId <= 0)
                {
                    return(BadRequest("invalid version selected"));
                }

                var data = new cAcceptanceStatus()
                {
                    Remarks    = actionModel.Remarks,
                    IsAccepted = actionModel.IsAccepted,
                    Version    = _UnitOfWork.VersionRepository.Get(actionModel.VersionId),
                    IsActive   = true
                };

                using (_UnitOfWork) {
                    _UnitOfWork.AcceptanceStatusRepository.Set(data);
                    _UnitOfWork.Complete();
                }
                return(Created("", data));
            }
            catch (Exception exception) {
                Log.WriteLine(exception, "GetByUser", "AcceptanceStatusController");
                return(StatusCode(500));
            }
        }
示例#4
0
        public IActionResult index([FromBody] IndexVersionPostActionModel actionModel)
        {
            //string version,[FromBody]cFile[] file, List<IndexVersionPostActionModel> actionModels) {
            try {
                Log.WriteLine("Request for creating new version received at " + DateTime.Now);
                cVersion version = new cVersion()
                {
                    Version = actionModel.Version,
                    Domain  = "domain",
                    Status  = _UnitOfWork.VersionStatusRepository.Get(1)
                };
                //create version files
                List <cVersionFiles> versionFiles = new List <cVersionFiles>();
                //Log.WriteLine($"number of files is {actionModel.Files.Length}");
                foreach (var item in actionModel.Files.ToList())
                {
                    Console.WriteLine(item.EncodedName);
                    Log.WriteLine($"EncodedName: {item.EncodedName}\n Status :{item.StatusId}");
                    versionFiles.Add(new cVersionFiles()
                    {
                        FileId       = _UnitOfWork.FileRepository.Get(item.EncodedName).Id,
                        FileStatusId = item.StatusId,
                    });
                }
                Log.WriteLine($"total files :{actionModel.Files.Count()}");
                version.VersionFiles = versionFiles;
                version = _UnitOfWork.VersionRepository.Set(version);

                //_UnitOfWork.VersionFileRepository.Set(versionFiles);
                _UnitOfWork.Complete();
                Log.WriteLine("Request for creating new version received");

                return(StatusCode(200, actionModel.Files));
            }
            catch (Exception exception) {
                Log.WriteLine(exception);
                return(StatusCode(500));
            }
        }
示例#5
0
        //[Authorize]
        public IActionResult UploadFile(IFormFile file)
        {
            if (ModelState.IsValid)
            {
                try {
                    cFile fileEntity;
                    if (file == null)
                    {
                        Log.WriteLine("file is empty");
                        return(BadRequest("no file sent"));
                    }                    //foreach (var file in files)
                    {
                        Console.WriteLine(file.FileName);

                        DateTime uploadStartDateTime = DateTime.Now;
                        //generate random name for file and check uniqueness

                        string serverPath  = "",
                               encodedName = "";
                        do
                        {
                            encodedName = $"{Path.GetRandomFileName()}.{DateTime.Now.Ticks}.{DateTime.Now.DayOfYear}.{DateTime.Now.Year}";
                        } while (_UnitOfWork.FileRepository.IsNameExists(encodedName));
                        serverPath = Path.Combine(_WebHostEnvironment.ContentRootPath.ToUpper(), "ClientSourcesFiles", encodedName);
                        Log.WriteLine(serverPath);

                        //upload file
                        using (var stream = System.IO.File.Create(serverPath)) {
                            file.CopyTo(stream);
                        }

                        //populate fileEntity
                        fileEntity = new cFile()
                        {
                            Length            = file.Length,
                            LocalRelativePath = file.FileName,
                            LocalName         = file.FileName.Split('/').Last(),
                            //HashedContent = GetHash(System.IO.File.ReadAllText(serverPath)),
                            EncodedName            = encodedName,
                            ServerPath             = serverPath,
                            UploadDateTime         = uploadStartDateTime,
                            UploadCompleteDateTime = DateTime.Now
                        };


                        //Save to db
                        //using (_UnitOfWork) {

                        _UnitOfWork.FileRepository.Set(fileEntity);
                        _UnitOfWork.Complete();
                        //}
                    }

                    //TODO: URI will provide location for viewing file
                    return(StatusCode(201, new { file = fileEntity }));
                }
                catch (Exception e) {
                    Console.WriteLine(e.Message);
                    return(StatusCode(500, _Configuration["errorMessages:internalError"]));
                }
            }
            else
            {
                return(BadRequest("ModelState errors"));
            }
        }