public MaterialCodesDTO Update(MaterialCodesDTO obj) { using (var transaction = _context.Database.BeginTransaction()) { try { MaterialCodes tempObj = (from r in _unitOfWork.MaterialCodes.GenerateEntityAsIQueryable() where r.Name == obj.Name && r.ID != obj.ID select r).FirstOrDefault(); if (tempObj == null) { var response = _unitOfWork.MaterialCodes.FindById(obj.ID); if (response != null) { response.Name = obj.Name; response.Code = obj.Code; response.Active = obj.Active; response.CreatedBy = obj.CreatedBy; response.CreatedDate = obj.CreatedDate; response.ModifiedBy = obj.ModifiedBy; response.ModifiedDate = DateTime.Now; } _unitOfWork.MaterialCodes.Update(response); _unitOfWork.SaveChanges(); transaction.Commit(); return(new MaterialCodesDTO { ID = obj.ID, Status = true, StatusMessage = "Successfully updated", StatusCode = 200 }); } else { return(new MaterialCodesDTO { ID = tempObj.ID, Status = false, StatusMessage = "Error - Duplicate Material Code.", StatusCode = 200 }); } } catch (Exception ex) { transaction.Rollback(); return(new MaterialCodesDTO() { ID = 0, Status = false, StatusMessage = ex.Message, StatusCode = 200 }); } } }
public MaterialCodesDTO Create(MaterialCodesDTO obj) { using (var transaction = _context.Database.BeginTransaction()) { try { MaterialCodes tempObj = (from i in _unitOfWork.MaterialCodes.GenerateEntityAsIQueryable() where i.Name == obj.Name select i).FirstOrDefault(); if (tempObj == null) { var materialCode = new MaterialCodes() { Name = obj.Name, Code = obj.Code, Active = true, CreatedBy = obj.CreatedBy, CreatedDate = DateTime.Now }; _unitOfWork.MaterialCodes.Create(materialCode); _unitOfWork.SaveChanges(); transaction.Commit(); return(new MaterialCodesDTO { ID = materialCode.ID, Status = true, StatusMessage = "Successfully created", StatusCode = 200 }); } else { return(new MaterialCodesDTO { ID = tempObj.ID, Status = false, StatusMessage = "Error - Duplicate Matrial Code - " + tempObj.Name, StatusCode = 200 }); } } catch (Exception ex) { transaction.Rollback(); return(new MaterialCodesDTO() { ID = 0, Status = false, StatusMessage = ex.Message, StatusCode = 200 }); } } }
public MaterialCodesDTO Put([FromBody] MaterialCodesDTO MaterialCodesDTO) { return(_MaterialCodesService.Update(MaterialCodesDTO)); }
public MaterialCodesDTO Post([FromBody] MaterialCodesDTO MaterialCodesDTO) { return(_MaterialCodesService.Create(MaterialCodesDTO)); }