public int AddSurplus(AddSurplus surplusDetails) { ResponseMessage response = new ResponseMessage(); using (var transaction = _context.Database.BeginTransaction()) { try { // if (_context.SiteDeclaration.Where(x => x.StructId == surplusDetails.DispStructId && x.SitereqId == surplusDetails.SiteReqId).Count() > 0) // { // throw new ValueNotFoundException("Structure Id already declared as surplus."); // } // else { SiteDeclaration surplusDb = _mapper.Map <SiteDeclaration> (surplusDetails); surplusDb.CreatedAt = DateTime.Now; surplusDb.UpdatedBy = 1; //TODO; surplusDb.Status = Util.GetDescription(commonEnum.SurPlusDeclSatus.NEW).ToString(); surplusDb.StatusInternal = Util.GetDescription(commonEnum.SurPlusDeclSatus.NEW).ToString(); surplusDb.CreatedAt = DateTime.Now; surplusDb.CreatedBy = 1; //TODO surplusDb.RoleId = 4; //TODO // surplusDb.SitereqId = 11; _context.SiteDeclaration.Add(surplusDb); _context.SaveChanges(); SitedeclStatusHistory siteStatusHist = new SitedeclStatusHistory(); siteStatusHist.SitedecId = surplusDb.Id; siteStatusHist.RoleId = surplusDb.RoleId; siteStatusHist.SitedecId = surplusDb.SitereqId; siteStatusHist.Status = surplusDb.Status; siteStatusHist.Notes = ""; siteStatusHist.StatusInternal = surplusDb.StatusInternal; siteStatusHist.UpdatedAt = DateTime.Now; siteStatusHist.UpdatedBy = 1; //TODO; _context.SitedeclStatusHistory.Add(siteStatusHist); _context.SaveChanges(); ProjectStructure projStructDB = _context.ProjectStructure.Where(x => x.Id == surplusDetails.ProjStructId).FirstOrDefault(); projStructDB.CurrentStatus = Util.GetDescription(commonEnum.StructureInternalStatus.SURPLUSINITIATED).ToString(); _context.SaveChanges(); transaction.Commit(); return(surplusDb.Id); } } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
public ResponseMessage AddSurplus(AddSurplus servicedto) { ResponseMessage response = new ResponseMessage(); response.Message = "Surplus declaration created succusfully"; int projStructId = _surplusRepository.AddSurplus(servicedto); if (servicedto.uploadDocs != null) { foreach (IFormFile file in servicedto.uploadDocs) { Upload_Docs layerDoc = new Upload_Docs(); layerDoc.fileName = file.FileName; layerDoc.filepath = UploadedFile(file); layerDoc.uploadType = "Docs"; layerDoc.fileType = Path.GetExtension(file.FileName); this._surplusRepository.SiteDeclDocsUpload(layerDoc, projStructId); } // RemoveStructureDocs(servicedto.remove_docs_filename); } return(response); }
public IActionResult AddSurplus([FromForm] AddSurplus surplus) { try { if (surplus.uploadDocs != null) { if (surplus.uploadDocs.Length > 5) { throw new ValueNotFoundException("Document count should not greater than 5"); } foreach (IFormFile file in surplus.uploadDocs) { if (constantVal.AllowedIamgeFileTypes.Where(x => x.Contains(file.ContentType)).Count() == 0) { throw new ValueNotFoundException(string.Format("File Type {0} is not allowed", file.ContentType)); } } if (surplus.uploadDocs.Select(x => x.Length).Sum() > 50000000) { throw new ValueNotFoundException(" File size exceeded limit"); } } var response = _surplusService.AddSurplus(surplus); return(StatusCode(StatusCodes.Status201Created, (new { message = response.Message, code = 201 }))); } catch (ValueNotFoundException e) { Util.LogError(e); return(StatusCode(StatusCodes.Status422UnprocessableEntity, new ErrorClass() { code = StatusCodes.Status422UnprocessableEntity.ToString(), message = e.Message })); } catch (Exception e) { Util.LogError(e); return(StatusCode(StatusCodes.Status500InternalServerError, new ErrorClass() { code = StatusCodes.Status500InternalServerError.ToString(), message = "Something went wrong" })); } }