예제 #1
0
        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);
        }
예제 #3
0
 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"
         }));
     }
 }